diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..dd3015cbc --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + target-branch: "dev" + schedule: + interval: "weekly" diff --git a/.github/scripts/unit_test_runner.sh b/.github/scripts/unit_test_runner.sh index ad338f342..92afd0a4e 100644 --- a/.github/scripts/unit_test_runner.sh +++ b/.github/scripts/unit_test_runner.sh @@ -2,11 +2,11 @@ # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - pytest "$1" tests/unit/ + pytest "$1" tests/unit/ -n auto status_code=$? python -m coverage report else - pytest tests/unit/ + pytest tests/unit/ -n auto status_code=$? fi diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index 1730f4334..33a1666b2 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -32,7 +32,7 @@ jobs: fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: 3.8 @@ -42,7 +42,7 @@ jobs: cp pyproject.toml .github/linters - name: Black - uses: github/super-linter/slim@v4.9.2 + uses: super-linter/super-linter/slim@v4.9.2 if: always() env: # run linter on everything to catch preexisting problems diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96a0a59c2..b59aacd66 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest", "windows-2022"] + python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.11"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11"]') }} type: ["cli", "dapp", "data_dependency", @@ -36,6 +37,7 @@ jobs: "etherscan", "find_paths", "flat", + "interface", "kspec", "printers", # "prop" @@ -52,10 +54,10 @@ jobs: type: truffle steps: - uses: actions/checkout@v3 - - name: Set up Python 3.8 - uses: actions/setup-python@v3 + - name: Set up Python ${{ matrix.python }} + uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: ${{ matrix.python }} - name: Install dependencies run: | pip install ".[test]" @@ -65,11 +67,11 @@ jobs: - name: Set up nix if: matrix.type == 'dapp' - uses: cachix/install-nix-action@v20 + uses: cachix/install-nix-action@v22 - name: Set up cachix if: matrix.type == 'dapp' - uses: cachix/cachix-action@v10 + uses: cachix/cachix-action@v12 with: name: dapp diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7e6f88f1e..4cb1adcb1 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -47,7 +47,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Docker Build and Push - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v4 with: platforms: linux/amd64,linux/arm64/v8,linux/arm/v7 target: final diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 20676e031..625cafe4f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -37,10 +37,10 @@ jobs: - run: pip install -e ".[doc]" - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v2 with: # Upload the doc path: './html/' - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v2 diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index bc9177802..b352a8301 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -33,7 +33,7 @@ jobs: fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: 3.8 @@ -43,7 +43,7 @@ jobs: cp pyproject.toml .github/linters - name: Lint everything else - uses: github/super-linter/slim@v4.9.2 + uses: super-linter/super-linter/slim@v4.9.2 if: always() env: # run linter on everything to catch preexisting problems diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index e334ff4fe..4fbc1a3fd 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -34,6 +34,6 @@ jobs: python -m pip install . - name: Run pip-audit - uses: trailofbits/gh-action-pip-audit@v0.0.4 + uses: pypa/gh-action-pip-audit@v1.0.8 with: virtual-environment: /tmp/pip-audit-env diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..24f04ee87 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,54 @@ +name: Publish to PyPI + +on: + release: + types: [published] + +jobs: + build-release: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Build distributions + run: | + python -m pip install --upgrade pip + python -m pip install build + python -m build + - name: Upload distributions + uses: actions/upload-artifact@v3 + with: + name: slither-dists + path: dist/ + + publish: + runs-on: ubuntu-latest + environment: release + permissions: + id-token: write # For trusted publishing + codesigning. + contents: write # For attaching signing artifacts to the release. + needs: + - build-release + steps: + - name: fetch dists + uses: actions/download-artifact@v3 + with: + name: slither-dists + path: dist/ + + - name: publish + uses: pypa/gh-action-pypi-publish@v1.8.8 + + - name: sign + uses: sigstore/gh-action-sigstore-python@v1.2.3 + with: + inputs: ./dist/*.tar.gz ./dist/*.whl + release-signing-artifacts: true + bundle-only: true diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 06958a10d..207f98eac 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -27,7 +27,7 @@ jobs: fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: 3.8 @@ -37,7 +37,7 @@ jobs: cp pyproject.toml .github/linters - name: Pylint - uses: github/super-linter/slim@v4.9.2 + uses: super-linter/super-linter/slim@v4.9.2 if: always() env: # Run linters only on new files for pylint to speed up the CI diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 44bba5878..b3754bfd7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,20 +25,19 @@ jobs: matrix: os: ["ubuntu-latest", "windows-2022"] type: ["unit", "integration", "tool"] + python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.11"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11"]') }} steps: - uses: actions/checkout@v3 - - name: Set up Python 3.8 + - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: ${{ matrix.python }} cache: "pip" cache-dependency-path: setup.py - name: Install dependencies run: | pip install ".[test]" - solc-select install 0.8.0 - solc-select use 0.8.0 - name: Setup node uses: actions/setup-node@v3 @@ -76,7 +75,7 @@ jobs: uses: ./.github/actions/upload-coverage # only aggregate test coverage over linux-based tests to avoid any OS-specific filesystem information stored in # coverage metadata. - if: ${{ matrix.os == 'ubuntu-latest' }} + if: ${{ matrix.os == 'ubuntu-latest' && matrix.python == '3.8' }} coverage: needs: diff --git a/.gitignore b/.gitignore index 95fc5a7bf..4441c03d1 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,7 @@ htmlcov/ .coverage .coverage.* .cache +.pytest_cache nosetests.xml coverage.xml *.cover diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8568ef709..ae7951c7f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,19 @@ # Contributing to Slither + First, thanks for your interest in contributing to Slither! We welcome and appreciate all contributions, including bug reports, feature suggestions, tutorials/blog posts, and code improvements. If you're unsure where to start, we recommend our [`good first issue`](https://github.com/crytic/slither/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and [`help wanted`](https://github.com/crytic/slither/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) issue labels. ## Bug reports and feature suggestions + Bug reports and feature suggestions can be submitted to our issue tracker. For bug reports, attaching the contract that caused the bug will help us in debugging and resolving the issue quickly. If you find a security vulnerability, do not open an issue; email opensource@trailofbits.com instead. ## Questions -Questions can be submitted to the issue tracker, but you may get a faster response if you ask in our [chat room](https://empireslacking.herokuapp.com/) (in the #ethereum channel). + +Questions can be submitted to the "Discussions" page, and you may also join our [chat room](https://empireslacking.herokuapp.com/) (in the #ethereum channel). ## Code + Slither uses the pull request contribution model. Please make an account on Github, fork this repo, and submit code contributions via pull request. For more documentation, look [here](https://guides.github.com/activities/forking/). Some pull request guidelines: @@ -23,6 +27,7 @@ Some pull request guidelines: ## Directory Structure Below is a rough outline of slither's design: + ```text . ├── analyses # Provides additional info such as data dependency @@ -39,9 +44,10 @@ Below is a rough outline of slither's design: A code walkthrough is available [here](https://www.youtube.com/watch?v=EUl3UlYSluU). ## Development Environment + Instructions for installing a development version of Slither can be found in our [wiki](https://github.com/crytic/slither/wiki/Developer-installation). -To run the unit tests, you need to clone this repository and run `pip install ".[dev]"`. +To run the unit tests, you need to clone this repository and run `make test`. Run a specific test with `make test TESTS=$test_name`. The names of tests can be obtained with `pytest tests --collect-only`. ### Linters @@ -49,40 +55,64 @@ Several linters and security checkers are run on the PRs. To run them locally in the root dir of the repository: -- `pylint slither tests --rcfile pyproject.toml` -- `black . --config pyproject.toml` +- `make lint` + +> Note, this only validates but does not modify the code. + +To automatically reformat the code: + +- `make reformat` We use pylint `2.13.4`, black `22.3.0`. -### Detectors tests +### Testing + +Slither's test suite is divided into three categories end-to-end (`tests/e2e`), unit (`tests/unit`), and tools (`tests/tools/`). + +How do I know what kind of test(s) to write? + +- End-to-end: functionality that requires invoking `Slither` and inspecting some output such as printers and detectors. +- Unit: additions and modifications to objects should be accompanied by a unit test that defines the expected behavior. Aim to write functions in as pure a way as possible such that they are easier to test. +- Tools: tools built on top of Slither (`slither/tools`) but not apart of its core functionality + +#### Adding detector tests For each new detector, at least one regression tests must be present. -- Create a test in `tests` -- Update `ALL_TEST` in `tests/test_detectors.py` -- Run `python ./tests/test_detectors.py --generate`. This will generate the json artifacts in `tests/expected_json`. Add the generated files to git. - - If updating an existing detector, identify the respective json artifacts and then delete them, or run `python ./tests/test_detectors.py --overwrite` instead. -- Run `pytest ./tests/test_detectors.py` and check that everything worked. - -To see the tests coverage, run `pytest tests/test_detectors.py --cov=slither/detectors --cov-branch --cov-report html`. -To run tests for a specific detector, run `pytest tests/test_detectors.py -k ReentrancyReadBeforeWritten` (the detector's class name is the argument). -To run tests for a specific version, run `pytest tests/test_detectors.py -k 0.7.6`. -The IDs of tests can be inspected using `pytest tests/test_detectors.py --collect-only`. - -### Parser tests -- Create a test in `tests/ast-parsing` -- Run `python ./tests/test_ast_parsing.py --compile`. This will compile the artifact in `tests/ast-parsing/compile`. Add the compiled artifact to git. -- Run `python ./tests/test_ast_parsing.py --generate`. This will generate the json artifacts in `tests/ast-parsing/expected_json`. Add the generated files to git. -- Run `pytest ./tests/test_ast_parsing.py` and check that everything worked. - -To see the tests coverage, run `pytest tests/test_ast_parsing.py --cov=slither/solc_parsing --cov-branch --cov-report html` -To run tests for a specific test case, run `pytest tests/test_ast_parsing.py -k user_defined_value_type` (the filename is the argument). -To run tests for a specific version, run `pytest tests/test_ast_parsing.py -k 0.8.12`. -To run tests for a specific compiler json format, run `pytest tests/test_ast_parsing.py -k legacy` (can be legacy or compact). -The IDs of tests can be inspected using ``pytest tests/test_ast_parsing.py --collect-only`. +1. Create a folder in `tests/e2e/detectors/test_data` with the detector's argument name. +2. Create a test contract in `tests/e2e/detectors/test_data//`. +3. Update `ALL_TESTS` in `tests/e2e/detectors/test_detectors.py`. +4. Run `python tests/e2e/detectors/test_detectors.py --compile` to create a zip file of the compilation artifacts. +5. `pytest tests/e2e/detectors/test_detectors.py --insta update-new`. This will generate a snapshot of the detector output in `tests/e2e/detectors/snapshots/`. If updating an existing detector, run `pytest tests/e2e/detectors/test_detectors.py --insta review` and accept or reject the updates. +6. Run `pytest tests/e2e/detectors/test_detectors.py` to ensure everything worked. Then, add and commit the files to git. + +> ##### Helpful commands for detector tests +> +> - To see the tests coverage, run `pytest tests/e2e/detectors/test_detectors.py --cov=slither/detectors --cov-branch --cov-report html`. +> - To run tests for a specific detector, run `pytest tests/e2e/detectors/test_detectors.py -k ReentrancyReadBeforeWritten`(the detector's class name is the argument). +> - To run tests for a specific version, run `pytest tests/e2e/detectors/test_detectors.py -k 0.7.6`. +> - The IDs of tests can be inspected using `pytest tests/e2e/detectors/test_detectors.py --collect-only`. + +#### Adding parsing tests + +1. Create a test in `tests/e2e/solc_parsing/` +2. Update `ALL_TESTS` in `tests/e2e/solc_parsing/test_ast_parsing.py`. +3. Run `python tests/e2e/solc_parsing/test_ast_parsing.py --compile`. This will compile the artifact in `tests/e2e/solc_parsing/compile`. Add the compiled artifact to git. +4. Run `python tests/e2e/solc_parsing/test_ast_parsing.py --generate`. This will generate the json artifacts in `tests/e2e/solc_parsing/expected_json`. Add the generated files to git. +5. Run `pytest tests/e2e/solc_parsing/test_ast_parsing.py` and check that everything worked. + +> ##### Helpful commands for parsing tests +> +> - To see the tests coverage, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py --cov=slither/solc_parsing --cov-branch --cov-report html` +> - To run tests for a specific test case, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py -k user_defined_value_type` (the filename is the argument). +> - To run tests for a specific version, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py -k 0.8.12`. +> - To run tests for a specific compiler json format, run `pytest tests/e2e/solc_parsing/test_ast_parsing.py -k legacy` (can be legacy or compact). +> - The IDs of tests can be inspected using `pytest tests/e2e/solc_parsing/test_ast_parsing.py --collect-only`. ### Synchronization with crytic-compile + By default, `slither` follows either the latest version of crytic-compile in pip, or `crytic-compile@master` (look for dependencies in [`setup.py`](./setup.py). If crytic-compile development comes with breaking changes, the process to update `slither` is: + - Update `slither/setup.py` to point to the related crytic-compile's branch - Create a PR in `slither` and ensure it passes the CI - Once the development branch is merged in `crytic-compile@master`, ensure `slither` follows the `master` branch diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..a94c3eeb8 --- /dev/null +++ b/Makefile @@ -0,0 +1,88 @@ +SHELL := /bin/bash + +PY_MODULE := slither +TEST_MODULE := tests + +ALL_PY_SRCS := $(shell find $(PY_MODULE) -name '*.py') \ + $(shell find test -name '*.py') + +# Optionally overriden by the user, if they're using a virtual environment manager. +VENV ?= env + +# On Windows, venv scripts/shims are under `Scripts` instead of `bin`. +VENV_BIN := $(VENV)/bin +ifeq ($(OS),Windows_NT) + VENV_BIN := $(VENV)/Scripts +endif + +# Optionally overridden by the user in the `release` target. +BUMP_ARGS := + +# Optionally overridden by the user in the `test` target. +TESTS := + +# Optionally overridden by the user/CI, to limit the installation to a specific +# subset of development dependencies. +SLITHER_EXTRA := dev + +# If the user selects a specific test pattern to run, set `pytest` to fail fast +# and only run tests that match the pattern. +# Otherwise, run all tests and enable coverage assertions, since we expect +# complete test coverage. +ifneq ($(TESTS),) + TEST_ARGS := -x -k $(TESTS) + COV_ARGS := +else + TEST_ARGS := -n auto + COV_ARGS := # --fail-under 100 +endif + +.PHONY: all +all: + @echo "Run my targets individually!" + +.PHONY: dev +dev: $(VENV)/pyvenv.cfg + +.PHONY: run +run: $(VENV)/pyvenv.cfg + @. $(VENV_BIN)/activate && slither $(ARGS) + +$(VENV)/pyvenv.cfg: pyproject.toml + # Create our Python 3 virtual environment + python3 -m venv env + $(VENV_BIN)/python -m pip install --upgrade pip + $(VENV_BIN)/python -m pip install -e .[$(SLITHER_EXTRA)] + +.PHONY: lint +lint: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + black --check . && \ + pylint $(PY_MODULE) $(TEST_MODULE) + # ruff $(ALL_PY_SRCS) && \ + # mypy $(PY_MODULE) && + +.PHONY: reformat +reformat: + . $(VENV_BIN)/activate && \ + black . + +.PHONY: test tests +test tests: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + pytest --cov=$(PY_MODULE) $(T) $(TEST_ARGS) && \ + python -m coverage report -m $(COV_ARGS) + +.PHONY: doc +doc: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + PDOC_ALLOW_EXEC=1 pdoc -o html slither '!slither.tools' + +.PHONY: package +package: $(VENV)/pyvenv.cfg + . $(VENV_BIN)/activate && \ + python3 -m build + +.PHONY: edit +edit: + $(EDITOR) $(ALL_PY_SRCS) \ No newline at end of file diff --git a/README.md b/README.md index bce20bfb0..cb815561e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Slither, the Solidity source analyzer -Logo + +Logo [![Build Status](https://img.shields.io/github/actions/workflow/status/crytic/slither/ci.yml?branch=master)](https://github.com/crytic/slither/actions?query=workflow%3ACI) [![Slack Status](https://empireslacking.herokuapp.com/badge.svg)](https://empireslacking.herokuapp.com) @@ -20,26 +21,29 @@ Slither is a Solidity static analysis framework written in Python3. It runs a su ## Features -* Detects vulnerable Solidity code with low false positives (see the list of [trophies](./trophies.md)) -* Identifies where the error condition occurs in the source code -* Easily integrates into continuous integration and Hardhat/Foundry builds -* Built-in 'printers' quickly report crucial contract information -* Detector API to write custom analyses in Python -* Ability to analyze contracts written with Solidity >= 0.4 -* Intermediate representation ([SlithIR](https://github.com/trailofbits/slither/wiki/SlithIR)) enables simple, high-precision analyses -* Correctly parses 99.9% of all public Solidity code -* Average execution time of less than 1 second per contract -* Integrates with Github's code scanning in [CI](https://github.com/marketplace/actions/slither-action) +- Detects vulnerable Solidity code with low false positives (see the list of [trophies](./trophies.md)) +- Identifies where the error condition occurs in the source code +- Easily integrates into continuous integration and Hardhat/Foundry builds +- Built-in 'printers' quickly report crucial contract information +- Detector API to write custom analyses in Python +- Ability to analyze contracts written with Solidity >= 0.4 +- Intermediate representation ([SlithIR](https://github.com/trailofbits/slither/wiki/SlithIR)) enables simple, high-precision analyses +- Correctly parses 99.9% of all public Solidity code +- Average execution time of less than 1 second per contract +- Integrates with Github's code scanning in [CI](https://github.com/marketplace/actions/slither-action) ## Usage Run Slither on a Hardhat/Foundry/Dapp/Brownie application: + ```bash slither . ``` + This is the preferred option if your project has dependencies as Slither relies on the underlying compilation framework to compile source code. However, you can run Slither on a single file that does not import dependencies: + ```bash slither tests/uninitialized.sol ``` @@ -79,118 +83,122 @@ docker run -it -v /home/share:/share trailofbits/eth-security-toolbox ``` ### Integration + - For GitHub action integration, use [slither-action](https://github.com/marketplace/actions/slither-action). - To generate a Markdown report, use `slither [target] --checklist`. - To generate a Markdown with GitHub source code highlighting, use `slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/` (replace `ORG`, `REPO`, `COMMIT`) ## Detectors - Num | Detector | What it Detects | Impact | Confidence --- | --- | --- | --- | --- 1 | `abiencoderv2-array` | [Storage abiencoderv2 array](https://github.com/crytic/slither/wiki/Detector-Documentation#storage-abiencoderv2-array) | High | High 2 | `arbitrary-send-erc20` | [transferFrom uses arbitrary `from`](https://github.com/crytic/slither/wiki/Detector-Documentation#arbitrary-from-in-transferfrom) | High | High 3 | `array-by-reference` | [Modifying storage array by value](https://github.com/crytic/slither/wiki/Detector-Documentation#modifying-storage-array-by-value) | High | High -4 | `incorrect-shift` | [The order of parameters in a shift instruction is incorrect.](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-shift-in-assembly) | High | High -5 | `multiple-constructors` | [Multiple constructor schemes](https://github.com/crytic/slither/wiki/Detector-Documentation#multiple-constructor-schemes) | High | High -6 | `name-reused` | [Contract's name reused](https://github.com/crytic/slither/wiki/Detector-Documentation#name-reused) | High | High -7 | `protected-vars` | [Detected unprotected variables](https://github.com/crytic/slither/wiki/Detector-Documentation#protected-variables) | High | High -8 | `public-mappings-nested` | [Public mappings with nested variables](https://github.com/crytic/slither/wiki/Detector-Documentation#public-mappings-with-nested-variables) | High | High -9 | `rtlo` | [Right-To-Left-Override control character is used](https://github.com/crytic/slither/wiki/Detector-Documentation#right-to-left-override-character) | High | High -10 | `shadowing-state` | [State variables shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing) | High | High -11 | `suicidal` | [Functions allowing anyone to destruct the contract](https://github.com/crytic/slither/wiki/Detector-Documentation#suicidal) | High | High -12 | `uninitialized-state` | [Uninitialized state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables) | High | High -13 | `uninitialized-storage` | [Uninitialized storage variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-storage-variables) | High | High -14 | `unprotected-upgrade` | [Unprotected upgradeable contract](https://github.com/crytic/slither/wiki/Detector-Documentation#unprotected-upgradeable-contract) | High | High -15 | `codex` | [Use Codex to find vulnerabilities.](https://github.com/crytic/slither/wiki/Detector-Documentation#codex) | High | Low -16 | `arbitrary-send-erc20-permit` | [transferFrom uses arbitrary from with permit](https://github.com/crytic/slither/wiki/Detector-Documentation#arbitrary-from-in-transferfrom-used-with-permit) | High | Medium -17 | `arbitrary-send-eth` | [Functions that send Ether to arbitrary destinations](https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations) | High | Medium -18 | `controlled-array-length` | [Tainted array length assignment](https://github.com/crytic/slither/wiki/Detector-Documentation#array-length-assignment) | High | Medium -19 | `controlled-delegatecall` | [Controlled delegatecall destination](https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall) | High | Medium -20 | `delegatecall-loop` | [Payable functions using `delegatecall` inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#payable-functions-using-delegatecall-inside-a-loop) | High | Medium -21 | `msg-value-loop` | [msg.value inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#msgvalue-inside-a-loop) | High | Medium -22 | `reentrancy-eth` | [Reentrancy vulnerabilities (theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities) | High | Medium -23 | `storage-array` | [Signed storage integer array compiler bug](https://github.com/crytic/slither/wiki/Detector-Documentation#storage-signed-integer-array) | High | Medium -24 | `unchecked-transfer` | [Unchecked tokens transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer) | High | Medium -25 | `weak-prng` | [Weak PRNG](https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG) | High | Medium -26 | `domain-separator-collision` | [Detects ERC20 tokens that have a function whose signature collides with EIP-2612's DOMAIN_SEPARATOR()](https://github.com/crytic/slither/wiki/Detector-Documentation#domain-separator-collision) | Medium | High -27 | `enum-conversion` | [Detect dangerous enum conversion](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-enum-conversion) | Medium | High -28 | `erc20-interface` | [Incorrect ERC20 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc20-interface) | Medium | High -29 | `erc721-interface` | [Incorrect ERC721 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc721-interface) | Medium | High -30 | `incorrect-equality` | [Dangerous strict equalities](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities) | Medium | High -31 | `locked-ether` | [Contracts that lock ether](https://github.com/crytic/slither/wiki/Detector-Documentation#contracts-that-lock-ether) | Medium | High -32 | `mapping-deletion` | [Deletion on mapping containing a structure](https://github.com/crytic/slither/wiki/Detector-Documentation#deletion-on-mapping-containing-a-structure) | Medium | High -33 | `shadowing-abstract` | [State variables shadowing from abstract contracts](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing-from-abstract-contracts) | Medium | High -34 | `tautology` | [Tautology or contradiction](https://github.com/crytic/slither/wiki/Detector-Documentation#tautology-or-contradiction) | Medium | High -35 | `write-after-write` | [Unused write](https://github.com/crytic/slither/wiki/Detector-Documentation#write-after-write) | Medium | High -36 | `boolean-cst` | [Misuse of Boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#misuse-of-a-boolean-constant) | Medium | Medium -37 | `constant-function-asm` | [Constant functions using assembly code](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-using-assembly-code) | Medium | Medium -38 | `constant-function-state` | [Constant functions changing the state](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-changing-the-state) | Medium | Medium -39 | `divide-before-multiply` | [Imprecise arithmetic operations order](https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply) | Medium | Medium -40 | `reentrancy-no-eth` | [Reentrancy vulnerabilities (no theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1) | Medium | Medium -41 | `reused-constructor` | [Reused base constructor](https://github.com/crytic/slither/wiki/Detector-Documentation#reused-base-constructors) | Medium | Medium -42 | `tx-origin` | [Dangerous usage of `tx.origin`](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin) | Medium | Medium -43 | `unchecked-lowlevel` | [Unchecked low-level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-low-level-calls) | Medium | Medium -44 | `unchecked-send` | [Unchecked send](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-send) | Medium | Medium -45 | `uninitialized-local` | [Uninitialized local variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables) | Medium | Medium -46 | `unused-return` | [Unused return values](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return) | Medium | Medium -47 | `incorrect-modifier` | [Modifiers that can return the default value](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier) | Low | High -48 | `shadowing-builtin` | [Built-in symbol shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#builtin-symbol-shadowing) | Low | High -49 | `shadowing-local` | [Local variables shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing) | Low | High -50 | `uninitialized-fptr-cst` | [Uninitialized function pointer calls in constructors](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-function-pointers-in-constructors) | Low | High -51 | `variable-scope` | [Local variables used prior their declaration](https://github.com/crytic/slither/wiki/Detector-Documentation#pre-declaration-usage-of-local-variables) | Low | High -52 | `void-cst` | [Constructor called not implemented](https://github.com/crytic/slither/wiki/Detector-Documentation#void-constructor) | Low | High -53 | `calls-loop` | [Multiple calls in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop) | Low | Medium -54 | `events-access` | [Missing Events Access Control](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control) | Low | Medium -55 | `events-maths` | [Missing Events Arithmetic](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic) | Low | Medium -56 | `incorrect-unary` | [Dangerous unary expressions](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-unary-expressions) | Low | Medium -57 | `missing-zero-check` | [Missing Zero Address Validation](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation) | Low | Medium -58 | `reentrancy-benign` | [Benign reentrancy vulnerabilities](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2) | Low | Medium -59 | `reentrancy-events` | [Reentrancy vulnerabilities leading to out-of-order Events](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3) | Low | Medium -60 | `timestamp` | [Dangerous usage of `block.timestamp`](https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp) | Low | Medium -61 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High -62 | `assert-state-change` | [Assert state change](https://github.com/crytic/slither/wiki/Detector-Documentation#assert-state-change) | Informational | High -63 | `boolean-equal` | [Comparison to boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality) | Informational | High -64 | `cyclomatic-complexity` | [Detects functions with high (> 11) cyclomatic complexity](https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity) | Informational | High -65 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High -66 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High -67 | `function-init-state` | [Function initializing state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state) | Informational | High -68 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High -69 | `missing-inheritance` | [Missing inheritance](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance) | Informational | High -70 | `naming-convention` | [Conformity to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High -71 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High -72 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High -73 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High -74 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High -75 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High -76 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium -77 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium -78 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium -79 | `similar-names` | [Variable names are too similar](https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar) | Informational | Medium -80 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium -81 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High -82 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High -83 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High -84 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Vulnerabilities-Description#public-variable-read-in-external-context) | Optimization | High +4 | `encode-packed-collision` | [ABI encodePacked Collision](https://github.com/crytic/slither/wiki/Detector-Documentation#abi-encodePacked-collision) | High | High +5 | `incorrect-shift` | [The order of parameters in a shift instruction is incorrect.](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-shift-in-assembly) | High | High +6 | `multiple-constructors` | [Multiple constructor schemes](https://github.com/crytic/slither/wiki/Detector-Documentation#multiple-constructor-schemes) | High | High +7 | `name-reused` | [Contract's name reused](https://github.com/crytic/slither/wiki/Detector-Documentation#name-reused) | High | High +8 | `protected-vars` | [Detected unprotected variables](https://github.com/crytic/slither/wiki/Detector-Documentation#protected-variables) | High | High +9 | `public-mappings-nested` | [Public mappings with nested variables](https://github.com/crytic/slither/wiki/Detector-Documentation#public-mappings-with-nested-variables) | High | High +10 | `rtlo` | [Right-To-Left-Override control character is used](https://github.com/crytic/slither/wiki/Detector-Documentation#right-to-left-override-character) | High | High +11 | `shadowing-state` | [State variables shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing) | High | High +12 | `suicidal` | [Functions allowing anyone to destruct the contract](https://github.com/crytic/slither/wiki/Detector-Documentation#suicidal) | High | High +13 | `uninitialized-state` | [Uninitialized state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables) | High | High +14 | `uninitialized-storage` | [Uninitialized storage variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-storage-variables) | High | High +15 | `unprotected-upgrade` | [Unprotected upgradeable contract](https://github.com/crytic/slither/wiki/Detector-Documentation#unprotected-upgradeable-contract) | High | High +16 | `codex` | [Use Codex to find vulnerabilities.](https://github.com/crytic/slither/wiki/Detector-Documentation#codex) | High | Low +17 | `arbitrary-send-erc20-permit` | [transferFrom uses arbitrary from with permit](https://github.com/crytic/slither/wiki/Detector-Documentation#arbitrary-from-in-transferfrom-used-with-permit) | High | Medium +18 | `arbitrary-send-eth` | [Functions that send Ether to arbitrary destinations](https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations) | High | Medium +19 | `controlled-array-length` | [Tainted array length assignment](https://github.com/crytic/slither/wiki/Detector-Documentation#array-length-assignment) | High | Medium +20 | `controlled-delegatecall` | [Controlled delegatecall destination](https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall) | High | Medium +21 | `delegatecall-loop` | [Payable functions using `delegatecall` inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#payable-functions-using-delegatecall-inside-a-loop) | High | Medium +22 | `msg-value-loop` | [msg.value inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#msgvalue-inside-a-loop) | High | Medium +23 | `reentrancy-eth` | [Reentrancy vulnerabilities (theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities) | High | Medium +24 | `storage-array` | [Signed storage integer array compiler bug](https://github.com/crytic/slither/wiki/Detector-Documentation#storage-signed-integer-array) | High | Medium +25 | `unchecked-transfer` | [Unchecked tokens transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer) | High | Medium +26 | `weak-prng` | [Weak PRNG](https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG) | High | Medium +27 | `domain-separator-collision` | [Detects ERC20 tokens that have a function whose signature collides with EIP-2612's DOMAIN_SEPARATOR()](https://github.com/crytic/slither/wiki/Detector-Documentation#domain-separator-collision) | Medium | High +28 | `enum-conversion` | [Detect dangerous enum conversion](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-enum-conversion) | Medium | High +29 | `erc20-interface` | [Incorrect ERC20 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc20-interface) | Medium | High +30 | `erc721-interface` | [Incorrect ERC721 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc721-interface) | Medium | High +31 | `incorrect-equality` | [Dangerous strict equalities](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities) | Medium | High +32 | `locked-ether` | [Contracts that lock ether](https://github.com/crytic/slither/wiki/Detector-Documentation#contracts-that-lock-ether) | Medium | High +33 | `mapping-deletion` | [Deletion on mapping containing a structure](https://github.com/crytic/slither/wiki/Detector-Documentation#deletion-on-mapping-containing-a-structure) | Medium | High +34 | `shadowing-abstract` | [State variables shadowing from abstract contracts](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing-from-abstract-contracts) | Medium | High +35 | `tautology` | [Tautology or contradiction](https://github.com/crytic/slither/wiki/Detector-Documentation#tautology-or-contradiction) | Medium | High +36 | `write-after-write` | [Unused write](https://github.com/crytic/slither/wiki/Detector-Documentation#write-after-write) | Medium | High +37 | `boolean-cst` | [Misuse of Boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#misuse-of-a-boolean-constant) | Medium | Medium +38 | `constant-function-asm` | [Constant functions using assembly code](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-using-assembly-code) | Medium | Medium +39 | `constant-function-state` | [Constant functions changing the state](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-changing-the-state) | Medium | Medium +40 | `divide-before-multiply` | [Imprecise arithmetic operations order](https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply) | Medium | Medium +41 | `reentrancy-no-eth` | [Reentrancy vulnerabilities (no theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1) | Medium | Medium +42 | `reused-constructor` | [Reused base constructor](https://github.com/crytic/slither/wiki/Detector-Documentation#reused-base-constructors) | Medium | Medium +43 | `tx-origin` | [Dangerous usage of `tx.origin`](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin) | Medium | Medium +44 | `unchecked-lowlevel` | [Unchecked low-level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-low-level-calls) | Medium | Medium +45 | `unchecked-send` | [Unchecked send](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-send) | Medium | Medium +46 | `uninitialized-local` | [Uninitialized local variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables) | Medium | Medium +47 | `unused-return` | [Unused return values](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return) | Medium | Medium +48 | `incorrect-modifier` | [Modifiers that can return the default value](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier) | Low | High +49 | `shadowing-builtin` | [Built-in symbol shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#builtin-symbol-shadowing) | Low | High +50 | `shadowing-local` | [Local variables shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing) | Low | High +51 | `uninitialized-fptr-cst` | [Uninitialized function pointer calls in constructors](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-function-pointers-in-constructors) | Low | High +52 | `variable-scope` | [Local variables used prior their declaration](https://github.com/crytic/slither/wiki/Detector-Documentation#pre-declaration-usage-of-local-variables) | Low | High +53 | `void-cst` | [Constructor called not implemented](https://github.com/crytic/slither/wiki/Detector-Documentation#void-constructor) | Low | High +54 | `calls-loop` | [Multiple calls in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop) | Low | Medium +55 | `events-access` | [Missing Events Access Control](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control) | Low | Medium +56 | `events-maths` | [Missing Events Arithmetic](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic) | Low | Medium +57 | `incorrect-unary` | [Dangerous unary expressions](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-unary-expressions) | Low | Medium +58 | `missing-zero-check` | [Missing Zero Address Validation](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation) | Low | Medium +59 | `reentrancy-benign` | [Benign reentrancy vulnerabilities](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2) | Low | Medium +60 | `reentrancy-events` | [Reentrancy vulnerabilities leading to out-of-order Events](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3) | Low | Medium +61 | `timestamp` | [Dangerous usage of `block.timestamp`](https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp) | Low | Medium +62 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High +63 | `assert-state-change` | [Assert state change](https://github.com/crytic/slither/wiki/Detector-Documentation#assert-state-change) | Informational | High +64 | `boolean-equal` | [Comparison to boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality) | Informational | High +65 | `cyclomatic-complexity` | [Detects functions with high (> 11) cyclomatic complexity](https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity) | Informational | High +66 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High +67 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High +68 | `function-init-state` | [Function initializing state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state) | Informational | High +69 | `incorrect-using-for` | [Detects using-for statement usage when no function from a given library matches a given type](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-using-for-usage) | Informational | High +70 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High +71 | `missing-inheritance` | [Missing inheritance](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance) | Informational | High +72 | `naming-convention` | [Conformity to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High +73 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High +74 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High +75 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High +76 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High +77 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High +78 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium +79 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium +80 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium +81 | `similar-names` | [Variable names are too similar](https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar) | Informational | Medium +82 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium +83 | `cache-array-length` | [Detects `for` loops that use `length` member of some storage array in their loop condition and don't modify it.](https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length) | Optimization | High +84 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High +85 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High +86 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High +87 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context) | Optimization | High For more information, see + - The [Detector Documentation](https://github.com/crytic/slither/wiki/Detector-Documentation) for details on each detector - The [Detection Selection](https://github.com/crytic/slither/wiki/Usage#detector-selection) to run only selected detectors. By default, all the detectors are run. - The [Triage Mode](https://github.com/crytic/slither/wiki/Usage#triage-mode) to filter individual results ## Printers - ### Quick Review Printers - `human-summary`: [Print a human-readable summary of the contracts](https://github.com/trailofbits/slither/wiki/Printer-documentation#human-summary) - `inheritance-graph`: [Export the inheritance graph of each contract to a dot file](https://github.com/trailofbits/slither/wiki/Printer-documentation#inheritance-graph) - `contract-summary`: [Print a summary of the contracts](https://github.com/trailofbits/slither/wiki/Printer-documentation#contract-summary) +- `loc`: [Count the total number lines of code (LOC), source lines of code (SLOC), and comment lines of code (CLOC) found in source files (SRC), dependencies (DEP), and test files (TEST).](https://github.com/trailofbits/slither/wiki/Printer-documentation#loc) ### In-Depth Review Printers - `call-graph`: [Export the call-graph of the contracts to a dot file](https://github.com/trailofbits/slither/wiki/Printer-documentation#call-graph) - `cfg`: [Export the CFG of each functions](https://github.com/trailofbits/slither/wiki/Printer-documentation#cfg) - `function-summary`: [Print a summary of the functions](https://github.com/trailofbits/slither/wiki/Printer-documentation#function-summary) - `vars-and-auth`: [Print the state variables written and the authorization of the functions](https://github.com/crytic/slither/wiki/Printer-documentation#variables-written-and-authorization) -- `when-not-paused`: [Print functions that do not use `whenNotPaused` modifier](https://github.com/trailofbits/slither/wiki/Printer-documentation#when-not-paused). +- `not-pausable`: [Print functions that do not use `whenNotPaused` modifier](https://github.com/trailofbits/slither/wiki/Printer-documentation#when-not-paused). To run a printer, use `--print` and a comma-separated list of printers. @@ -204,32 +212,36 @@ See the [Printer documentation](https://github.com/crytic/slither/wiki/Printer-d - `slither-check-erc`: [Check the ERC's conformance](https://github.com/crytic/slither/wiki/ERC-Conformance) - `slither-format`: [Automatic patch generation](https://github.com/crytic/slither/wiki/Slither-format) - `slither-read-storage`: [Read storage values from contracts](./slither/tools/read_storage/README.md) +- `slither-interface`: [Generate an interface for a contract](./slither/tools/interface/README.md) See the [Tool documentation](https://github.com/crytic/slither/wiki/Tool-Documentation) for additional tools. [Contact us](https://www.trailofbits.com/contact/) to get help on building custom tools. ## API Documentation + Documentation on Slither's internals is available [here](https://crytic.github.io/slither/slither.html). ## Getting Help Feel free to stop by our [Slack channel](https://empireslacking.herokuapp.com) (#ethereum) for help using or extending Slither. -* The [Printer documentation](https://github.com/trailofbits/slither/wiki/Printer-documentation) describes the information Slither is capable of visualizing for each contract. +- The [Printer documentation](https://github.com/trailofbits/slither/wiki/Printer-documentation) describes the information Slither is capable of visualizing for each contract. -* The [Detector documentation](https://github.com/trailofbits/slither/wiki/Adding-a-new-detector) describes how to write a new vulnerability analyses. +- The [Detector documentation](https://github.com/trailofbits/slither/wiki/Adding-a-new-detector) describes how to write a new vulnerability analyses. -* The [API documentation](https://github.com/crytic/slither/wiki/Python-API) describes the methods and objects available for custom analyses. +- The [API documentation](https://github.com/crytic/slither/wiki/Python-API) describes the methods and objects available for custom analyses. -* The [SlithIR documentation](https://github.com/trailofbits/slither/wiki/SlithIR) describes the SlithIR intermediate representation. +- The [SlithIR documentation](https://github.com/trailofbits/slither/wiki/SlithIR) describes the SlithIR intermediate representation. ## FAQ How do I exclude mocks or tests? + - View our documentation on [path filtering](https://github.com/crytic/slither/wiki/Usage#path-filtering). How do I fix "unknown file" or compilation issues? + - Because slither requires the solc AST, it must have all dependencies available. If a contract has dependencies, `slither contract.sol` will fail. Instead, use `slither .` in the parent directory of `contracts/` (you should see `contracts/` when you run `ls`). @@ -244,9 +256,11 @@ Slither is licensed and distributed under the AGPLv3 license. [Contact us](mailt ## Publications ### Trail of Bits publication + - [Slither: A Static Analysis Framework For Smart Contracts](https://arxiv.org/abs/1908.09878), Josselin Feist, Gustavo Grieco, Alex Groce - WETSEB '19 ### External publications + Title | Usage | Authors | Venue | Code --- | --- | --- | --- | --- [ReJection: A AST-Based Reentrancy Vulnerability Detection Method](https://www.researchgate.net/publication/339354823_ReJection_A_AST-Based_Reentrancy_Vulnerability_Detection_Method) | AST-based analysis built on top of Slither | Rui Ma, Zefeng Jian, Guangyuan Chen, Ke Ma, Yujia Chen | CTCIS 19 diff --git a/examples/flat/a.sol b/examples/flat/a.sol index d252e04ba..4fa9c7549 100644 --- a/examples/flat/a.sol +++ b/examples/flat/a.sol @@ -1,3 +1,9 @@ -contract A{ +pragma solidity 0.8.19; -} +error RevertIt(); + +contract Example { + function reverts() external pure { + revert RevertIt(); + } +} \ No newline at end of file diff --git a/examples/flat/b.sol b/examples/flat/b.sol index 74b4d78ce..edbd90225 100644 --- a/examples/flat/b.sol +++ b/examples/flat/b.sol @@ -1,5 +1,16 @@ import "./a.sol"; -contract B is A{ +pragma solidity 0.8.19; +enum B { + a, + b } + +contract T { + Example e = new Example(); + function b() public returns(uint) { + B b = B.a; + return 4; + } +} \ No newline at end of file diff --git a/scripts/ci_test_flat.sh b/scripts/ci_test_flat.sh index e3a837a03..0d9185171 100755 --- a/scripts/ci_test_flat.sh +++ b/scripts/ci_test_flat.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +shopt -s extglob -### Test slither-prop +### Test slither-flat +solc-select use 0.8.19 --always-install cd examples/flat || exit 1 @@ -8,5 +10,11 @@ if ! slither-flat b.sol; then echo "slither-flat failed" exit 1 fi + +SUFFIX="@(sol)" +if ! solc "crytic-export/flattening/"*$SUFFIX; then + echo "solc failed on flattened files" + exit 1 +fi exit 0 diff --git a/scripts/ci_test_interface.sh b/scripts/ci_test_interface.sh new file mode 100644 index 000000000..de0defee3 --- /dev/null +++ b/scripts/ci_test_interface.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +### Test slither-interface + +DIR_TESTS="tests/tools/interface" + +solc-select use 0.8.19 --always-install + +#Test 1 - Etherscan target +slither-interface WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 +DIFF=$(diff crytic-export/interfaces/IWETH9.sol "$DIR_TESTS/test_1.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 1 failed" + cat "crytic-export/interfaces/IWETH9.sol" + echo "" + cat "$DIR_TESTS/test_1.sol" + exit 255 +fi + + +#Test 2 - Local file target +slither-interface Mock tests/tools/interface/ContractMock.sol +DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_2.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 2 failed" + cat "crytic-export/interfaces/IMock.sol" + echo "" + cat "$DIR_TESTS/test_2.sol" + exit 255 +fi + + +#Test 3 - unroll structs +slither-interface Mock tests/tools/interface/ContractMock.sol --unroll-structs +DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_3.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 3 failed" + cat "crytic-export/interfaces/IMock.sol" + echo "" + cat "$DIR_TESTS/test_3.sol" + exit 255 +fi + +#Test 4 - exclude structs +slither-interface Mock tests/tools/interface/ContractMock.sol --exclude-structs +DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_4.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 4 failed" + cat "crytic-export/interfaces/IMock.sol" + echo "" + cat "$DIR_TESTS/test_4.sol" + exit 255 +fi + +#Test 5 - exclude errors +slither-interface Mock tests/tools/interface/ContractMock.sol --exclude-errors +DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_5.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 5 failed" + cat "crytic-export/interfaces/IMock.sol" + echo "" + cat "$DIR_TESTS/test_5.sol" + exit 255 +fi + +#Test 6 - exclude enums +slither-interface Mock tests/tools/interface/ContractMock.sol --exclude-enums +DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_6.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 6 failed" + cat "crytic-export/interfaces/IMock.sol" + echo "" + cat "$DIR_TESTS/test_6.sol" + exit 255 +fi + +#Test 7 - exclude events +slither-interface Mock tests/tools/interface/ContractMock.sol --exclude-events +DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_7.sol" --strip-trailing-cr) +if [ "$DIFF" != "" ] +then + echo "slither-interface test 7 failed" + cat "crytic-export/interfaces/IMock.sol" + echo "" + cat "$DIR_TESTS/test_7.sol" + exit 255 +fi + +rm -r crytic-export \ No newline at end of file diff --git a/scripts/ci_test_printers.sh b/scripts/ci_test_printers.sh index 61994b337..d13932b81 100755 --- a/scripts/ci_test_printers.sh +++ b/scripts/ci_test_printers.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash -### Test printer +### Test printer cd tests/e2e/solc_parsing/test_data/compile/ || exit # Do not test the evm printer,as it needs a refactoring -ALL_PRINTERS="cfg,constructor-calls,contract-summary,data-dependency,echidna,function-id,function-summary,modifiers,call-graph,human-summary,inheritance,inheritance-graph,slithir,slithir-ssa,vars-and-auth,require,variable-order,declaration" +ALL_PRINTERS="cfg,constructor-calls,contract-summary,data-dependency,echidna,function-id,function-summary,modifiers,call-graph,human-summary,inheritance,inheritance-graph,loc,slithir,slithir-ssa,vars-and-auth,require,variable-order,declaration" # Only test 0.5.17 to limit test time for file in *0.5.17-compact.zip; do diff --git a/setup.py b/setup.py index 7e563e25a..70d4f71fd 100644 --- a/setup.py +++ b/setup.py @@ -13,11 +13,14 @@ setup( python_requires=">=3.8", install_requires=[ "packaging", - "prettytable>=0.7.2", + "prettytable>=3.3.0", "pycryptodome>=3.4.6", - "crytic-compile>=0.3.1,<0.4.0", - # "crytic-compile@git+https://github.com/crytic/crytic-compile.git@master#egg=crytic-compile", + # "crytic-compile>=0.3.1,<0.4.0", + "crytic-compile@git+https://github.com/crytic/crytic-compile.git@dev#egg=crytic-compile", "web3>=6.0.0", + "eth-abi>=4.0.0", + "eth-typing>=3.0.0", + "eth-utils>=2.1.0", ], extras_require={ "lint": [ @@ -31,6 +34,9 @@ setup( "deepdiff", "numpy", "coverage[toml]", + "filelock", + "pytest-insta", + "solc-select@git+https://github.com/crytic/solc-select.git@query-artifact-path#egg=solc-select", ], "doc": [ "pdoc", @@ -58,6 +64,7 @@ setup( "slither-read-storage = slither.tools.read_storage.__main__:main", "slither-doctor = slither.tools.doctor.__main__:main", "slither-documentation = slither.tools.documentation.__main__:main", + "slither-interface = slither.tools.interface.__main__:main", ] }, ) diff --git a/slither/__init__.py b/slither/__init__.py index c709b144c..dd9b8a1a2 100644 --- a/slither/__init__.py +++ b/slither/__init__.py @@ -1 +1,4 @@ +""" +.. include:: ../README.md +""" from .slither import Slither diff --git a/slither/__main__.py b/slither/__main__.py index ca61a8269..d9201a90d 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -35,6 +35,7 @@ from slither.utils.output import ( from slither.utils.output_capture import StandardOutputCapture from slither.utils.colors import red, set_colorization_enabled from slither.utils.command_line import ( + FailOnLevel, output_detectors, output_results_to_markdown, output_detectors_json, @@ -206,22 +207,22 @@ def choose_detectors( detectors_to_run = sorted(detectors_to_run, key=lambda x: x.IMPACT) return detectors_to_run - if args.exclude_optimization and not args.fail_pedantic: + if args.exclude_optimization: detectors_to_run = [ d for d in detectors_to_run if d.IMPACT != DetectorClassification.OPTIMIZATION ] - if args.exclude_informational and not args.fail_pedantic: + if args.exclude_informational: detectors_to_run = [ d for d in detectors_to_run if d.IMPACT != DetectorClassification.INFORMATIONAL ] - if args.exclude_low and not args.fail_low: + if args.exclude_low: detectors_to_run = [d for d in detectors_to_run if d.IMPACT != DetectorClassification.LOW] - if args.exclude_medium and not args.fail_medium: + if args.exclude_medium: detectors_to_run = [ d for d in detectors_to_run if d.IMPACT != DetectorClassification.MEDIUM ] - if args.exclude_high and not args.fail_high: + if args.exclude_high: detectors_to_run = [d for d in detectors_to_run if d.IMPACT != DetectorClassification.HIGH] if args.detectors_to_exclude: detectors_to_run = [ @@ -386,41 +387,44 @@ def parse_args( default=defaults_flag_in_config["exclude_high"], ) - group_detector.add_argument( + fail_on_group = group_detector.add_mutually_exclusive_group() + fail_on_group.add_argument( "--fail-pedantic", - help="Return the number of findings in the exit code", - action="store_true", - default=defaults_flag_in_config["fail_pedantic"], + help="Fail if any findings are detected", + action="store_const", + dest="fail_on", + const=FailOnLevel.PEDANTIC, ) - - group_detector.add_argument( - "--no-fail-pedantic", - help="Do not return the number of findings in the exit code. Opposite of --fail-pedantic", - dest="fail_pedantic", - action="store_false", - required=False, - ) - - group_detector.add_argument( + fail_on_group.add_argument( "--fail-low", - help="Fail if low or greater impact finding is detected", - action="store_true", - default=defaults_flag_in_config["fail_low"], + help="Fail if any low or greater impact findings are detected", + action="store_const", + dest="fail_on", + const=FailOnLevel.LOW, ) - - group_detector.add_argument( + fail_on_group.add_argument( "--fail-medium", - help="Fail if medium or greater impact finding is detected", - action="store_true", - default=defaults_flag_in_config["fail_medium"], + help="Fail if any medium or greater impact findings are detected", + action="store_const", + dest="fail_on", + const=FailOnLevel.MEDIUM, ) - - group_detector.add_argument( + fail_on_group.add_argument( "--fail-high", - help="Fail if high impact finding is detected", - action="store_true", - default=defaults_flag_in_config["fail_high"], + help="Fail if any high impact findings are detected", + action="store_const", + dest="fail_on", + const=FailOnLevel.HIGH, + ) + fail_on_group.add_argument( + "--fail-none", + "--no-fail-pedantic", + help="Do not return the number of findings in the exit code", + action="store_const", + dest="fail_on", + const=FailOnLevel.NONE, ) + fail_on_group.set_defaults(fail_on=FailOnLevel.PEDANTIC) group_detector.add_argument( "--show-ignored-findings", @@ -896,17 +900,18 @@ def main_impl( stats = pstats.Stats(cp).sort_stats("cumtime") stats.print_stats() - if args.fail_high: + fail_on = FailOnLevel(args.fail_on) + if fail_on == FailOnLevel.HIGH: fail_on_detection = any(result["impact"] == "High" for result in results_detectors) - elif args.fail_medium: + elif fail_on == FailOnLevel.MEDIUM: fail_on_detection = any( result["impact"] in ["Medium", "High"] for result in results_detectors ) - elif args.fail_low: + elif fail_on == FailOnLevel.LOW: fail_on_detection = any( result["impact"] in ["Low", "Medium", "High"] for result in results_detectors ) - elif args.fail_pedantic: + elif fail_on == FailOnLevel.PEDANTIC: fail_on_detection = bool(results_detectors) else: fail_on_detection = False diff --git a/slither/analyses/data_dependency/data_dependency.py b/slither/analyses/data_dependency/data_dependency.py index d133cd2dc..12e809fa5 100644 --- a/slither/analyses/data_dependency/data_dependency.py +++ b/slither/analyses/data_dependency/data_dependency.py @@ -129,6 +129,7 @@ GENERIC_TAINT = { SolidityVariableComposed("msg.value"), SolidityVariableComposed("msg.data"), SolidityVariableComposed("tx.origin"), + SolidityVariableComposed("tx.gasprice"), } diff --git a/slither/analyses/evm/convert.py b/slither/analyses/evm/convert.py index bff308cbc..5e8c4a128 100644 --- a/slither/analyses/evm/convert.py +++ b/slither/analyses/evm/convert.py @@ -186,7 +186,7 @@ def generate_source_to_evm_ins_mapping(evm_instructions, srcmap_runtime, slither if mapping_item[i] == "": mapping_item[i] = int(prev_mapping[i]) - offset, _length, file_id, _ = mapping_item + offset, _length, file_id, *_ = mapping_item prev_mapping = mapping_item if file_id == "-1": diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index b25cc093e..1fa693839 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -620,6 +620,21 @@ class Node(SourceMapping): # pylint: disable=too-many-public-methods """ self._sons.append(son) + def replace_son(self, ori_son: "Node", new_son: "Node") -> None: + """Replace a son node. Do nothing if the node to replace is not a son + + Args: + ori_son: son to replace + new_son: son to replace with + """ + for i, s in enumerate(self._sons): + if s.node_id == ori_son.node_id: + idx = i + break + else: + return + self._sons[idx] = new_son + def set_sons(self, sons: List["Node"]) -> None: """Set the son nodes diff --git a/slither/core/cfg/scope.py b/slither/core/cfg/scope.py index d3ac4e836..3f9959851 100644 --- a/slither/core/cfg/scope.py +++ b/slither/core/cfg/scope.py @@ -7,8 +7,10 @@ if TYPE_CHECKING: # pylint: disable=too-few-public-methods class Scope: - def __init__(self, is_checked: bool, is_yul: bool, scope: Union["Scope", "Function"]) -> None: + def __init__( + self, is_checked: bool, is_yul: bool, parent_scope: Union["Scope", "Function"] + ) -> None: self.nodes: List["Node"] = [] self.is_checked = is_checked self.is_yul = is_yul - self.father = scope + self.father = parent_scope diff --git a/slither/core/compilation_unit.py b/slither/core/compilation_unit.py index cd23e2c88..faee153c8 100644 --- a/slither/core/compilation_unit.py +++ b/slither/core/compilation_unit.py @@ -13,7 +13,7 @@ from slither.core.declarations import ( Function, Modifier, ) -from slither.core.declarations.custom_error import CustomError +from slither.core.declarations.custom_error_top_level import CustomErrorTopLevel from slither.core.declarations.enum_top_level import EnumTopLevel from slither.core.declarations.function_top_level import FunctionTopLevel from slither.core.declarations.structure_top_level import StructureTopLevel @@ -46,7 +46,7 @@ class SlitherCompilationUnit(Context): self._using_for_top_level: List[UsingForTopLevel] = [] self._pragma_directives: List[Pragma] = [] self._import_directives: List[Import] = [] - self._custom_errors: List[CustomError] = [] + self._custom_errors: List[CustomErrorTopLevel] = [] self._user_defined_value_types: Dict[str, TypeAliasTopLevel] = {} self._all_functions: Set[Function] = set() @@ -128,7 +128,7 @@ class SlitherCompilationUnit(Context): """list(Contract): List of contracts that are derived and not inherited.""" inheritances = [x.inheritance for x in self.contracts] inheritance = [item for sublist in inheritances for item in sublist] - return [c for c in self.contracts if c not in inheritance and not c.is_top_level] + return [c for c in self.contracts if c not in inheritance] def get_contract_from_name(self, contract_name: Union[str, Constant]) -> List[Contract]: """ @@ -216,7 +216,7 @@ class SlitherCompilationUnit(Context): return self._using_for_top_level @property - def custom_errors(self) -> List[CustomError]: + def custom_errors(self) -> List[CustomErrorTopLevel]: return self._custom_errors @property diff --git a/slither/core/declarations/contract.py b/slither/core/declarations/contract.py index 8e56120fe..fd2cdd468 100644 --- a/slither/core/declarations/contract.py +++ b/slither/core/declarations/contract.py @@ -100,8 +100,6 @@ class Contract(SourceMapping): # pylint: disable=too-many-public-methods self._is_upgradeable_proxy: Optional[bool] = None self._upgradeable_version: Optional[str] = None - self.is_top_level = False # heavily used, so no @property - self._initial_state_variables: List["StateVariable"] = [] # ssa self._is_incorrectly_parsed: bool = False diff --git a/slither/core/declarations/custom_error.py b/slither/core/declarations/custom_error.py index 7e78748c6..234873eac 100644 --- a/slither/core/declarations/custom_error.py +++ b/slither/core/declarations/custom_error.py @@ -1,8 +1,8 @@ from typing import List, TYPE_CHECKING, Optional, Type -from slither.core.solidity_types import UserDefinedType from slither.core.source_mapping.source_mapping import SourceMapping from slither.core.variables.local_variable import LocalVariable +from slither.utils.type import is_underlying_type_address if TYPE_CHECKING: from slither.core.compilation_unit import SlitherCompilationUnit @@ -43,10 +43,7 @@ class CustomError(SourceMapping): @staticmethod def _convert_type_for_solidity_signature(t: Optional[Type]) -> str: - # pylint: disable=import-outside-toplevel - from slither.core.declarations import Contract - - if isinstance(t, UserDefinedType) and isinstance(t.type, Contract): + if is_underlying_type_address(t): return "address" return str(t) diff --git a/slither/core/declarations/event.py b/slither/core/declarations/event.py index 9d42ac224..1b58ff63b 100644 --- a/slither/core/declarations/event.py +++ b/slither/core/declarations/event.py @@ -45,7 +45,7 @@ class Event(ContractLevel, SourceMapping): Returns: str: contract.func_name(type1,type2) """ - return self.contract.name + self.full_name + return self.contract.name + "." + self.full_name @property def elems(self) -> List["EventVariable"]: diff --git a/slither/core/declarations/solidity_variables.py b/slither/core/declarations/solidity_variables.py index f0e903d7b..f6a0f0839 100644 --- a/slither/core/declarations/solidity_variables.py +++ b/slither/core/declarations/solidity_variables.py @@ -21,10 +21,11 @@ SOLIDITY_VARIABLES_COMPOSED = { "block.basefee": "uint", "block.coinbase": "address", "block.difficulty": "uint256", + "block.prevrandao": "uint256", "block.gaslimit": "uint256", "block.number": "uint256", "block.timestamp": "uint256", - "block.blockhash": "uint256", # alias for blockhash. It's a call + "block.blockhash": "bytes32", # alias for blockhash. It's a call "block.chainid": "uint256", "msg.data": "bytes", "msg.gas": "uint256", @@ -60,6 +61,7 @@ SOLIDITY_FUNCTIONS: Dict[str, List[str]] = { "log2(bytes32,bytes32,bytes32)": [], "log3(bytes32,bytes32,bytes32,bytes32)": [], "blockhash(uint256)": ["bytes32"], + "prevrandao()": ["uint256"], # the following need a special handling # as they are recognized as a SolidityVariableComposed # and converted to a SolidityFunction by SlithIR @@ -201,6 +203,10 @@ class SolidityCustomRevert(SolidityFunction): self._custom_error = custom_error self._return_type: List[Union[TypeInformation, ElementaryType]] = [] + @property + def custom_error(self) -> CustomError: + return self._custom_error + def __eq__(self, other: Any) -> bool: return ( self.__class__ == other.__class__ diff --git a/slither/core/expressions/new_array.py b/slither/core/expressions/new_array.py index 162b48f1e..b1d407793 100644 --- a/slither/core/expressions/new_array.py +++ b/slither/core/expressions/new_array.py @@ -1,32 +1,23 @@ -from typing import Union, TYPE_CHECKING - +from typing import TYPE_CHECKING from slither.core.expressions.expression import Expression -from slither.core.solidity_types.type import Type if TYPE_CHECKING: - from slither.core.solidity_types.elementary_type import ElementaryType - from slither.core.solidity_types.type_alias import TypeAliasTopLevel + from slither.core.solidity_types.array_type import ArrayType class NewArray(Expression): - - # note: dont conserve the size of the array if provided - def __init__( - self, depth: int, array_type: Union["TypeAliasTopLevel", "ElementaryType"] - ) -> None: + def __init__(self, array_type: "ArrayType") -> None: super().__init__() - assert isinstance(array_type, Type) - self._depth: int = depth - self._array_type: Type = array_type + # pylint: disable=import-outside-toplevel + from slither.core.solidity_types.array_type import ArrayType - @property - def array_type(self) -> Type: - return self._array_type + assert isinstance(array_type, ArrayType) + self._array_type = array_type @property - def depth(self) -> int: - return self._depth + def array_type(self) -> "ArrayType": + return self._array_type def __str__(self): - return "new " + str(self._array_type) + "[]" * self._depth + return "new " + str(self._array_type) diff --git a/slither/core/solidity_types/type_alias.py b/slither/core/solidity_types/type_alias.py index 9387f511a..ead9b5394 100644 --- a/slither/core/solidity_types/type_alias.py +++ b/slither/core/solidity_types/type_alias.py @@ -1,10 +1,11 @@ -from typing import TYPE_CHECKING, Tuple +from typing import TYPE_CHECKING, Tuple, Dict from slither.core.declarations.top_level import TopLevel from slither.core.declarations.contract_level import ContractLevel from slither.core.solidity_types import Type, ElementaryType if TYPE_CHECKING: + from slither.core.declarations.function_top_level import FunctionTopLevel from slither.core.declarations import Contract from slither.core.scope.scope import FileScope @@ -43,6 +44,8 @@ class TypeAliasTopLevel(TypeAlias, TopLevel): def __init__(self, underlying_type: ElementaryType, name: str, scope: "FileScope") -> None: super().__init__(underlying_type, name) self.file_scope: "FileScope" = scope + # operators redefined + self.operators: Dict[str, "FunctionTopLevel"] = {} def __str__(self) -> str: return self.name diff --git a/slither/detectors/all_detectors.py b/slither/detectors/all_detectors.py index 9722b8793..57f44bc56 100644 --- a/slither/detectors/all_detectors.py +++ b/slither/detectors/all_detectors.py @@ -89,3 +89,6 @@ from .functions.protected_variable import ProtectedVariables from .functions.permit_domain_signature_collision import DomainSeparatorCollision from .functions.codex import Codex from .functions.cyclomatic_complexity import CyclomaticComplexity +from .operations.cache_array_length import CacheArrayLength +from .statements.incorrect_using_for import IncorrectUsingFor +from .operations.encode_packed import EncodePackedCollision diff --git a/slither/detectors/assembly/shift_parameter_mixup.py b/slither/detectors/assembly/shift_parameter_mixup.py index a4169499a..1f6a878e2 100644 --- a/slither/detectors/assembly/shift_parameter_mixup.py +++ b/slither/detectors/assembly/shift_parameter_mixup.py @@ -52,7 +52,9 @@ The shift statement will right-shift the constant 8 by `a` bits""" BinaryType.LEFT_SHIFT, BinaryType.RIGHT_SHIFT, ]: - if isinstance(ir.variable_left, Constant): + if isinstance(ir.variable_left, Constant) and not isinstance( + ir.variable_right, Constant + ): info: DETECTOR_INFO = [ f, " contains an incorrect shift operation: ", diff --git a/slither/detectors/attributes/locked_ether.py b/slither/detectors/attributes/locked_ether.py index a6f882922..91ec68650 100644 --- a/slither/detectors/attributes/locked_ether.py +++ b/slither/detectors/attributes/locked_ether.py @@ -3,7 +3,7 @@ """ from typing import List -from slither.core.declarations.contract import Contract +from slither.core.declarations import Contract, SolidityFunction from slither.detectors.abstract_detector import ( AbstractDetector, DetectorClassification, @@ -17,7 +17,9 @@ from slither.slithir.operations import ( NewContract, LibraryCall, InternalCall, + SolidityCall, ) +from slither.slithir.variables import Constant from slither.utils.output import Output @@ -68,8 +70,28 @@ Every Ether sent to `Locked` will be lost.""" ): if ir.call_value and ir.call_value != 0: return False - if isinstance(ir, (LowLevelCall)): - if ir.function_name in ["delegatecall", "callcode"]: + if isinstance(ir, (LowLevelCall)) and ir.function_name in [ + "delegatecall", + "callcode", + ]: + return False + if isinstance(ir, SolidityCall): + call_can_send_ether = ir.function in [ + SolidityFunction( + "delegatecall(uint256,uint256,uint256,uint256,uint256,uint256)" + ), + SolidityFunction( + "callcode(uint256,uint256,uint256,uint256,uint256,uint256,uint256)" + ), + SolidityFunction( + "call(uint256,uint256,uint256,uint256,uint256,uint256,uint256)" + ), + ] + nonzero_call_value = call_can_send_ether and ( + not isinstance(ir.arguments[2], Constant) + or ir.arguments[2].value != 0 + ) + if nonzero_call_value: return False # If a new internal call or librarycall # Add it to the list to explore diff --git a/slither/detectors/compiler_bugs/array_by_reference.py b/slither/detectors/compiler_bugs/array_by_reference.py index 04dfe085a..47e2af581 100644 --- a/slither/detectors/compiler_bugs/array_by_reference.py +++ b/slither/detectors/compiler_bugs/array_by_reference.py @@ -133,7 +133,7 @@ As a result, Bob's usage of the contract is incorrect.""" continue # Verify one of these parameters is an array in storage. - for arg in ir.arguments: + for (param, arg) in zip(ir.function.parameters, ir.arguments): # Verify this argument is a variable that is an array type. if not isinstance(arg, (StateVariable, LocalVariable)): continue @@ -141,8 +141,11 @@ As a result, Bob's usage of the contract is incorrect.""" continue # If it is a state variable OR a local variable referencing storage, we add it to the list. - if isinstance(arg, StateVariable) or ( - isinstance(arg, LocalVariable) and arg.location == "storage" + if ( + isinstance(arg, StateVariable) + or (isinstance(arg, LocalVariable) and arg.location == "storage") + ) and ( + isinstance(param.type, ArrayType) and param.location != "storage" ): results.append((node, arg, ir.function)) return results @@ -165,9 +168,9 @@ As a result, Bob's usage of the contract is incorrect.""" calling_node.function, " passes array ", affected_argument, - "by reference to ", + " by reference to ", invoked_function, - "which only takes arrays by value\n", + " which only takes arrays by value\n", ] res = self.generate_result(info) diff --git a/slither/detectors/operations/cache_array_length.py b/slither/detectors/operations/cache_array_length.py new file mode 100644 index 000000000..e4d8cf2c6 --- /dev/null +++ b/slither/detectors/operations/cache_array_length.py @@ -0,0 +1,226 @@ +from typing import List, Set + +from slither.core.cfg.node import Node, NodeType +from slither.core.declarations import Function +from slither.core.expressions import BinaryOperation, Identifier, MemberAccess, UnaryOperation +from slither.core.solidity_types import ArrayType +from slither.core.variables import StateVariable +from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.slithir.operations import Length, Delete, HighLevelCall + + +class CacheArrayLength(AbstractDetector): + """ + Detects `for` loops that use `length` member of some storage array in their loop condition and don't modify it. + """ + + ARGUMENT = "cache-array-length" + HELP = ( + "Detects `for` loops that use `length` member of some storage array in their loop condition and don't " + "modify it. " + ) + IMPACT = DetectorClassification.OPTIMIZATION + CONFIDENCE = DetectorClassification.HIGH + + WIKI = "https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length" + + WIKI_TITLE = "Cache array length" + WIKI_DESCRIPTION = ( + "Detects `for` loops that use `length` member of some storage array in their loop condition " + "and don't modify it. " + ) + WIKI_EXPLOIT_SCENARIO = """ +```solidity +contract C +{ + uint[] array; + + function f() public + { + for (uint i = 0; i < array.length; i++) + { + // code that does not modify length of `array` + } + } +} +``` +Since the `for` loop in `f` doesn't modify `array.length`, it is more gas efficient to cache it in some local variable and use that variable instead, like in the following example: + +```solidity +contract C +{ + uint[] array; + + function f() public + { + uint array_length = array.length; + for (uint i = 0; i < array_length; i++) + { + // code that does not modify length of `array` + } + } +} +``` + """ + WIKI_RECOMMENDATION = ( + "Cache the lengths of storage arrays if they are used and not modified in `for` loops." + ) + + @staticmethod + def _is_identifier_member_access_comparison(exp: BinaryOperation) -> bool: + """ + Checks whether a BinaryOperation `exp` is an operation on Identifier and MemberAccess. + """ + return ( + isinstance(exp.expression_left, Identifier) + and isinstance(exp.expression_right, MemberAccess) + ) or ( + isinstance(exp.expression_left, MemberAccess) + and isinstance(exp.expression_right, Identifier) + ) + + @staticmethod + def _extract_array_from_length_member_access(exp: MemberAccess) -> StateVariable: + """ + Given a member access `exp`, it returns state array which `length` member is accessed through `exp`. + If array is not a state array or its `length` member is not referenced, it returns `None`. + """ + if exp.member_name != "length": + return None + if not isinstance(exp.expression, Identifier): + return None + if not isinstance(exp.expression.value, StateVariable): + return None + if not isinstance(exp.expression.value.type, ArrayType): + return None + return exp.expression.value + + @staticmethod + def _is_loop_referencing_array_length( + node: Node, visited: Set[Node], array: StateVariable, depth: int + ) -> True: + """ + For a given loop, checks if it references `array.length` at some point. + Will also return True if `array.length` is referenced but not changed. + This may potentially generate false negatives in the detector, but it was done this way because: + - situations when array `length` is referenced but not modified in loop are rare + - checking if `array.length` is indeed modified would require much more work + """ + visited.add(node) + if node.type == NodeType.STARTLOOP: + depth += 1 + if node.type == NodeType.ENDLOOP: + depth -= 1 + if depth == 0: + return False + + # Array length may change in the following situations: + # - when `push` is called + # - when `pop` is called + # - when `delete` is called on the entire array + # - when external function call is made (instructions from internal function calls are already in + # `node.all_slithir_operations()`, so we don't need to handle internal calls separately) + if node.type == NodeType.EXPRESSION: + for op in node.all_slithir_operations(): + if isinstance(op, Length) and op.value == array: + # op accesses array.length, not necessarily modifying it + return True + if isinstance(op, Delete): + # take into account only delete entire array, since delete array[i] doesn't change `array.length` + if ( + isinstance(op.expression, UnaryOperation) + and isinstance(op.expression.expression, Identifier) + and op.expression.expression.value == array + ): + return True + if ( + isinstance(op, HighLevelCall) + and isinstance(op.function, Function) + and not op.function.view + and not op.function.pure + ): + return True + + for son in node.sons: + if son not in visited: + if CacheArrayLength._is_loop_referencing_array_length(son, visited, array, depth): + return True + return False + + @staticmethod + def _handle_loops(nodes: List[Node], non_optimal_array_len_usages: List[Node]) -> None: + """ + For each loop, checks if it has a comparison with `length` array member and, if it has, checks whether that + array size could potentially change in that loop. + If it cannot, the loop condition is added to `non_optimal_array_len_usages`. + There may be some false negatives here - see docs for `_is_loop_referencing_array_length` for more information. + """ + for node in nodes: + if node.type == NodeType.STARTLOOP: + if_node = node.sons[0] + if if_node.type != NodeType.IFLOOP: + continue + if not isinstance(if_node.expression, BinaryOperation): + continue + exp: BinaryOperation = if_node.expression + if not CacheArrayLength._is_identifier_member_access_comparison(exp): + continue + array: StateVariable + if isinstance(exp.expression_right, MemberAccess): + array = CacheArrayLength._extract_array_from_length_member_access( + exp.expression_right + ) + else: # isinstance(exp.expression_left, MemberAccess) == True + array = CacheArrayLength._extract_array_from_length_member_access( + exp.expression_left + ) + if array is None: + continue + + visited: Set[Node] = set() + if not CacheArrayLength._is_loop_referencing_array_length( + if_node, visited, array, 1 + ): + non_optimal_array_len_usages.append(if_node) + + @staticmethod + def _get_non_optimal_array_len_usages_for_function(f: Function) -> List[Node]: + """ + Finds non-optimal usages of array length in loop conditions in a given function. + """ + non_optimal_array_len_usages: List[Node] = [] + CacheArrayLength._handle_loops(f.nodes, non_optimal_array_len_usages) + + return non_optimal_array_len_usages + + @staticmethod + def _get_non_optimal_array_len_usages(functions: List[Function]) -> List[Node]: + """ + Finds non-optimal usages of array length in loop conditions in given functions. + """ + non_optimal_array_len_usages: List[Node] = [] + + for f in functions: + non_optimal_array_len_usages += ( + CacheArrayLength._get_non_optimal_array_len_usages_for_function(f) + ) + + return non_optimal_array_len_usages + + def _detect(self): + results = [] + + non_optimal_array_len_usages = CacheArrayLength._get_non_optimal_array_len_usages( + self.compilation_unit.functions + ) + for usage in non_optimal_array_len_usages: + info = [ + "Loop condition ", + f"`{usage.source_mapping.content}` ", + f"({usage.source_mapping}) ", + "should use cached array length instead of referencing `length` member " + "of the storage array.\n ", + ] + res = self.generate_result(info) + results.append(res) + return results diff --git a/slither/detectors/operations/encode_packed.py b/slither/detectors/operations/encode_packed.py new file mode 100644 index 000000000..ea7b094df --- /dev/null +++ b/slither/detectors/operations/encode_packed.py @@ -0,0 +1,104 @@ +""" +Module detecting usage of more than one dynamic type in abi.encodePacked() arguments which could lead to collision +""" + +from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.core.declarations.solidity_variables import SolidityFunction +from slither.slithir.operations import SolidityCall +from slither.analyses.data_dependency.data_dependency import is_tainted +from slither.core.solidity_types import ElementaryType +from slither.core.solidity_types import ArrayType + + +def _is_dynamic_type(arg): + """ + Args: + arg (function argument) + Returns: + Bool + """ + if isinstance(arg.type, ElementaryType) and (arg.type.name in ["string", "bytes"]): + return True + if isinstance(arg.type, ArrayType) and arg.type.length is None: + return True + + return False + + +def _detect_abi_encodePacked_collision(contract): + """ + Args: + contract (Contract) + Returns: + list((Function), (list (Node))) + """ + ret = [] + # pylint: disable=too-many-nested-blocks + for f in contract.functions_and_modifiers_declared: + for n in f.nodes: + for ir in n.irs: + if isinstance(ir, SolidityCall) and ir.function == SolidityFunction( + "abi.encodePacked()" + ): + dynamic_type_count = 0 + for arg in ir.arguments: + if is_tainted(arg, contract) and _is_dynamic_type(arg): + dynamic_type_count += 1 + elif dynamic_type_count > 1: + ret.append((f, n)) + dynamic_type_count = 0 + else: + dynamic_type_count = 0 + if dynamic_type_count > 1: + ret.append((f, n)) + return ret + + +class EncodePackedCollision(AbstractDetector): + """ + Detect usage of more than one dynamic type in abi.encodePacked() arguments which could to collision + """ + + ARGUMENT = "encode-packed-collision" + HELP = "ABI encodePacked Collision" + IMPACT = DetectorClassification.HIGH + CONFIDENCE = DetectorClassification.HIGH + + WIKI = ( + "https://github.com/crytic/slither/wiki/Detector-Documentation#abi-encodePacked-collision" + ) + + WIKI_TITLE = "ABI encodePacked Collision" + WIKI_DESCRIPTION = """Detect collision due to dynamic type usages in `abi.encodePacked`""" + + WIKI_EXPLOIT_SCENARIO = """ +```solidity +contract Sign { + function get_hash_for_signature(string name, string doc) external returns(bytes32) { + return keccak256(abi.encodePacked(name, doc)); + } +} +``` +Bob calls `get_hash_for_signature` with (`bob`, `This is the content`). The hash returned is used as an ID. +Eve creates a collision with the ID using (`bo`, `bThis is the content`) and compromises the system. +""" + WIKI_RECOMMENDATION = """Do not use more than one dynamic type in `abi.encodePacked()` +(see the [Solidity documentation](https://solidity.readthedocs.io/en/v0.5.10/abi-spec.html?highlight=abi.encodePacked#non-standard-packed-modeDynamic)). +Use `abi.encode()`, preferably.""" + + def _detect(self): + """Detect usage of more than one dynamic type in abi.encodePacked(..) arguments which could lead to collision""" + results = [] + for c in self.compilation_unit.contracts: + values = _detect_abi_encodePacked_collision(c) + for func, node in values: + info = [ + func, + " calls abi.encodePacked() with multiple dynamic arguments:\n\t- ", + node, + "\n", + ] + json = self.generate_result(info) + results.append(json) + + return results diff --git a/slither/detectors/operations/unchecked_low_level_return_values.py b/slither/detectors/operations/unchecked_low_level_return_values.py index 0537ebbf2..c1fb1a868 100644 --- a/slither/detectors/operations/unchecked_low_level_return_values.py +++ b/slither/detectors/operations/unchecked_low_level_return_values.py @@ -1,15 +1,24 @@ """ Module detecting unused return values from low level """ -from slither.detectors.abstract_detector import DetectorClassification -from slither.detectors.operations.unused_return_values import UnusedReturnValues +from typing import List + +from slither.core.cfg.node import Node from slither.slithir.operations import LowLevelCall -from slither.slithir.operations.operation import Operation + +from slither.core.declarations.function_contract import FunctionContract +from slither.core.variables.state_variable import StateVariable +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) +from slither.utils.output import Output -class UncheckedLowLevel(UnusedReturnValues): +class UncheckedLowLevel(AbstractDetector): """ - If the return value of a send is not checked, it might lead to losing ether + If the return value of a low-level call is not checked, it might lead to losing ether """ ARGUMENT = "unchecked-lowlevel" @@ -38,5 +47,44 @@ If the low level is used to prevent blocking operations, consider logging failed WIKI_RECOMMENDATION = "Ensure that the return value of a low-level call is checked or logged." - def _is_instance(self, ir: Operation) -> bool: # pylint: disable=no-self-use - return isinstance(ir, LowLevelCall) + @staticmethod + def detect_unused_return_values(f: FunctionContract) -> List[Node]: + """ + Return the nodes where the return value of a call is unused + Args: + f (Function) + Returns: + list(Node) + """ + values_returned = [] + nodes_origin = {} + for n in f.nodes: + for ir in n.irs: + if isinstance(ir, LowLevelCall): + # if a return value is stored in a state variable, it's ok + if ir.lvalue and not isinstance(ir.lvalue, StateVariable): + values_returned.append(ir.lvalue) + nodes_origin[ir.lvalue] = ir + + for read in ir.read: + if read in values_returned: + values_returned.remove(read) + + return [nodes_origin[value].node for value in values_returned] + + def _detect(self) -> List[Output]: + """Detect low level calls where the success value is not checked""" + results = [] + for c in self.compilation_unit.contracts_derived: + for f in c.functions_and_modifiers: + unused_return = UncheckedLowLevel.detect_unused_return_values(f) + if unused_return: + + for node in unused_return: + info: DETECTOR_INFO = [f, " ignores return value by ", node, "\n"] + + res = self.generate_result(info) + + results.append(res) + + return results diff --git a/slither/detectors/operations/unused_return_values.py b/slither/detectors/operations/unused_return_values.py index 93dda274a..783a44807 100644 --- a/slither/detectors/operations/unused_return_values.py +++ b/slither/detectors/operations/unused_return_values.py @@ -3,7 +3,7 @@ Module detecting unused return values from external calls """ from typing import List -from slither.core.cfg.node import Node +from slither.core.cfg.node import Node, NodeType from slither.core.declarations import Function from slither.core.declarations.function_contract import FunctionContract from slither.core.variables.state_variable import StateVariable @@ -12,8 +12,8 @@ from slither.detectors.abstract_detector import ( DetectorClassification, DETECTOR_INFO, ) -from slither.slithir.operations import HighLevelCall -from slither.slithir.operations.operation import Operation +from slither.slithir.operations import HighLevelCall, Assignment, Unpack, Operation +from slither.slithir.variables import TupleVariable from slither.utils.output import Output @@ -50,13 +50,18 @@ contract MyConc{ WIKI_RECOMMENDATION = "Ensure that all the return values of the function calls are used." def _is_instance(self, ir: Operation) -> bool: # pylint: disable=no-self-use - return isinstance(ir, HighLevelCall) and ( - ( - isinstance(ir.function, Function) - and ir.function.solidity_signature - not in ["transfer(address,uint256)", "transferFrom(address,address,uint256)"] + return ( + isinstance(ir, HighLevelCall) + and ( + ( + isinstance(ir.function, Function) + and ir.function.solidity_signature + not in ["transfer(address,uint256)", "transferFrom(address,address,uint256)"] + ) + or not isinstance(ir.function, Function) ) - or not isinstance(ir.function, Function) + or ir.node.type == NodeType.TRY + and isinstance(ir, (Assignment, Unpack)) ) def detect_unused_return_values( @@ -71,26 +76,33 @@ contract MyConc{ """ values_returned = [] nodes_origin = {} + # pylint: disable=too-many-nested-blocks for n in f.nodes: for ir in n.irs: if self._is_instance(ir): # if a return value is stored in a state variable, it's ok if ir.lvalue and not isinstance(ir.lvalue, StateVariable): - values_returned.append(ir.lvalue) + values_returned.append((ir.lvalue, None)) nodes_origin[ir.lvalue] = ir + if isinstance(ir.lvalue, TupleVariable): + # we iterate the number of elements the tuple has + # and add a (variable, index) in values_returned for each of them + for index in range(len(ir.lvalue.type)): + values_returned.append((ir.lvalue, index)) for read in ir.read: - if read in values_returned: - values_returned.remove(read) - - return [nodes_origin[value].node for value in values_returned] + remove = (read, ir.index) if isinstance(ir, Unpack) else (read, None) + if remove in values_returned: + # this is needed to remove the tuple variable when the first time one of its element is used + if remove[1] is not None and (remove[0], None) in values_returned: + values_returned.remove((remove[0], None)) + values_returned.remove(remove) + return [nodes_origin[value].node for (value, _) in values_returned] def _detect(self) -> List[Output]: """Detect high level calls which return a value that are never used""" results = [] - for c in self.compilation_unit.contracts: - for f in c.functions + c.modifiers: - if f.contract_declarer != c: - continue + for c in self.compilation_unit.contracts_derived: + for f in c.functions_and_modifiers: unused_return = self.detect_unused_return_values(f) if unused_return: diff --git a/slither/detectors/reentrancy/reentrancy_events.py b/slither/detectors/reentrancy/reentrancy_events.py index 2d29442f7..ac9c049c4 100644 --- a/slither/detectors/reentrancy/reentrancy_events.py +++ b/slither/detectors/reentrancy/reentrancy_events.py @@ -29,24 +29,45 @@ class ReentrancyEvent(Reentrancy): # region wiki_description WIKI_DESCRIPTION = """ -Detection of the [reentrancy bug](https://github.com/trailofbits/not-so-smart-contracts/tree/master/reentrancy). -Only report reentrancies leading to out-of-order events.""" +Detects [reentrancies](https://github.com/trailofbits/not-so-smart-contracts/tree/master/reentrancy) that allow manipulation of the order or value of events.""" # endregion wiki_description # region wiki_exploit_scenario WIKI_EXPLOIT_SCENARIO = """ ```solidity - function bug(Called d){ +contract ReentrantContract { + function f() external { + if (BugReentrancyEvents(msg.sender).counter() == 1) { + BugReentrancyEvents(msg.sender).count(this); + } + } +} +contract Counter { + uint public counter; + event Counter(uint); + +} +contract BugReentrancyEvents is Counter { + function count(ReentrantContract d) external { counter += 1; d.f(); emit Counter(counter); } +} +contract NoReentrancyEvents is Counter { + function count(ReentrantContract d) external { + counter += 1; + emit Counter(counter); + d.f(); + } +} ``` -If `d.()` re-enters, the `Counter` events will be shown in an incorrect order, which might lead to issues for third parties.""" +If the external call `d.f()` re-enters `BugReentrancyEvents`, the `Counter` events will be incorrect (`Counter(2)`, `Counter(2)`) whereas `NoReentrancyEvents` will correctly emit +(`Counter(1)`, `Counter(2)`). This may cause issues for offchain components that rely on the values of events e.g. checking for the amount deposited to a bridge.""" # endregion wiki_exploit_scenario - WIKI_RECOMMENDATION = "Apply the [`check-effects-interactions` pattern](http://solidity.readthedocs.io/en/v0.4.21/security-considerations.html#re-entrancy)." + WIKI_RECOMMENDATION = "Apply the [`check-effects-interactions` pattern](https://docs.soliditylang.org/en/latest/security-considerations.html#re-entrancy)." STANDARD_JSON = False diff --git a/slither/detectors/statements/incorrect_strict_equality.py b/slither/detectors/statements/incorrect_strict_equality.py index bc7b0cebe..ae06d7bf3 100644 --- a/slither/detectors/statements/incorrect_strict_equality.py +++ b/slither/detectors/statements/incorrect_strict_equality.py @@ -31,6 +31,7 @@ from slither.slithir.variables.constant import Constant from slither.slithir.variables.local_variable import LocalIRVariable from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA from slither.utils.output import Output +from slither.utils.type import is_underlying_type_address class IncorrectStrictEquality(AbstractDetector): @@ -72,6 +73,19 @@ contract Crowdsale{ def is_direct_comparison(ir: Operation) -> bool: return isinstance(ir, Binary) and ir.type == BinaryType.EQUAL + @staticmethod + def is_not_comparing_addresses(ir: Binary) -> bool: + """ + Comparing addresses strictly should not be flagged. + """ + + if is_underlying_type_address(ir.variable_left.type) and is_underlying_type_address( + ir.variable_right.type + ): + return False + + return True + @staticmethod def is_any_tainted( variables: List[ @@ -108,7 +122,6 @@ contract Crowdsale{ ): taints.append(ir.lvalue) if isinstance(ir, HighLevelCall): - # print(ir.function.full_name) if ( isinstance(ir.function, Function) and ir.function.full_name == "balanceOf(address)" @@ -125,7 +138,6 @@ contract Crowdsale{ if isinstance(ir, Assignment): if ir.rvalue in self.sources_taint: taints.append(ir.lvalue) - return taints # Retrieve all tainted (node, function) pairs @@ -145,7 +157,12 @@ contract Crowdsale{ for ir in node.irs_ssa: # Filter to only tainted equality (==) comparisons - if self.is_direct_comparison(ir) and self.is_any_tainted(ir.used, taints, func): + if ( + self.is_direct_comparison(ir) + # Filter out address comparisons which may occur due to lack of field sensitivity in data dependency + and self.is_not_comparing_addresses(ir) + and self.is_any_tainted(ir.used, taints, func) + ): if func not in results: results[func] = [] results[func].append(node) diff --git a/slither/detectors/statements/incorrect_using_for.py b/slither/detectors/statements/incorrect_using_for.py new file mode 100644 index 000000000..e2e87e7e0 --- /dev/null +++ b/slither/detectors/statements/incorrect_using_for.py @@ -0,0 +1,223 @@ +from typing import List + +from slither.core.declarations import Contract, Structure, Enum +from slither.core.declarations.using_for_top_level import UsingForTopLevel +from slither.core.solidity_types import ( + UserDefinedType, + Type, + ElementaryType, + TypeAlias, + MappingType, + ArrayType, +) +from slither.core.solidity_types.elementary_type import Uint, Int, Byte +from slither.detectors.abstract_detector import ( + AbstractDetector, + DetectorClassification, + DETECTOR_INFO, +) +from slither.utils.output import Output + + +def _is_correctly_used(type_: Type, library: Contract) -> bool: + """ + Checks if a `using library for type_` statement is used correctly (that is, does library contain any function + with type_ as the first argument). + """ + for f in library.functions: + if len(f.parameters) == 0: + continue + if f.parameters[0].type and not _implicitly_convertible_to(type_, f.parameters[0].type): + continue + return True + return False + + +def _implicitly_convertible_to(type1: Type, type2: Type) -> bool: + """ + Returns True if type1 may be implicitly converted to type2. + """ + if isinstance(type1, TypeAlias) or isinstance(type2, TypeAlias): + if isinstance(type1, TypeAlias) and isinstance(type2, TypeAlias): + return type1.type == type2.type + return False + + if isinstance(type1, UserDefinedType) and isinstance(type2, UserDefinedType): + if isinstance(type1.type, Contract) and isinstance(type2.type, Contract): + return _implicitly_convertible_to_for_contracts(type1.type, type2.type) + + if isinstance(type1.type, Structure) and isinstance(type2.type, Structure): + return type1.type.canonical_name == type2.type.canonical_name + + if isinstance(type1.type, Enum) and isinstance(type2.type, Enum): + return type1.type.canonical_name == type2.type.canonical_name + + if isinstance(type1, ElementaryType) and isinstance(type2, ElementaryType): + return _implicitly_convertible_to_for_elementary_types(type1, type2) + + if isinstance(type1, MappingType) and isinstance(type2, MappingType): + return _implicitly_convertible_to_for_mappings(type1, type2) + + if isinstance(type1, ArrayType) and isinstance(type2, ArrayType): + return _implicitly_convertible_to_for_arrays(type1, type2) + + return False + + +def _implicitly_convertible_to_for_arrays(type1: ArrayType, type2: ArrayType) -> bool: + """ + Returns True if type1 may be implicitly converted to type2. + """ + return _implicitly_convertible_to(type1.type, type2.type) + + +def _implicitly_convertible_to_for_mappings(type1: MappingType, type2: MappingType) -> bool: + """ + Returns True if type1 may be implicitly converted to type2. + """ + return type1.type_from == type2.type_from and type1.type_to == type2.type_to + + +def _implicitly_convertible_to_for_elementary_types( + type1: ElementaryType, type2: ElementaryType +) -> bool: + """ + Returns True if type1 may be implicitly converted to type2. + """ + if type1.type == "bool" and type2.type == "bool": + return True + if type1.type == "string" and type2.type == "string": + return True + if type1.type == "bytes" and type2.type == "bytes": + return True + if type1.type == "address" and type2.type == "address": + return _implicitly_convertible_to_for_addresses(type1, type2) + if type1.type in Uint and type2.type in Uint: + return _implicitly_convertible_to_for_uints(type1, type2) + if type1.type in Int and type2.type in Int: + return _implicitly_convertible_to_for_ints(type1, type2) + if ( + type1.type != "bytes" + and type2.type != "bytes" + and type1.type in Byte + and type2.type in Byte + ): + return _implicitly_convertible_to_for_bytes(type1, type2) + return False + + +def _implicitly_convertible_to_for_bytes(type1: ElementaryType, type2: ElementaryType) -> bool: + """ + Returns True if type1 may be implicitly converted to type2 assuming they are both bytes. + """ + assert type1.type in Byte and type2.type in Byte + assert type1.size is not None + assert type2.size is not None + + return type1.size <= type2.size + + +def _implicitly_convertible_to_for_addresses(type1: ElementaryType, type2: ElementaryType) -> bool: + """ + Returns True if type1 may be implicitly converted to type2 assuming they are both addresses. + """ + assert type1.type == "address" and type2.type == "address" + # payable attribute to be implemented; for now, always return True + return True + + +def _implicitly_convertible_to_for_ints(type1: ElementaryType, type2: ElementaryType) -> bool: + """ + Returns True if type1 may be implicitly converted to type2 assuming they are both ints. + """ + assert type1.type in Int and type2.type in Int + assert type1.size is not None + assert type2.size is not None + + return type1.size <= type2.size + + +def _implicitly_convertible_to_for_uints(type1: ElementaryType, type2: ElementaryType) -> bool: + """ + Returns True if type1 may be implicitly converted to type2 assuming they are both uints. + """ + assert type1.type in Uint and type2.type in Uint + assert type1.size is not None + assert type2.size is not None + + return type1.size <= type2.size + + +def _implicitly_convertible_to_for_contracts(contract1: Contract, contract2: Contract) -> bool: + """ + Returns True if contract1 may be implicitly converted to contract2. + """ + return contract1 == contract2 or contract2 in contract1.inheritance + + +class IncorrectUsingFor(AbstractDetector): + """ + Detector for incorrect using-for statement usage. + """ + + ARGUMENT = "incorrect-using-for" + HELP = "Detects using-for statement usage when no function from a given library matches a given type" + IMPACT = DetectorClassification.INFORMATIONAL + CONFIDENCE = DetectorClassification.HIGH + + WIKI = "https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-using-for-usage" + + WIKI_TITLE = "Incorrect usage of using-for statement" + WIKI_DESCRIPTION = ( + "In Solidity, it is possible to use libraries for certain types, by the `using-for` statement " + "(`using for `). However, the Solidity compiler doesn't check whether a given " + "library has at least one function matching a given type. If it doesn't, such a statement has " + "no effect and may be confusing. " + ) + + # region wiki_exploit_scenario + WIKI_EXPLOIT_SCENARIO = """ + ```solidity + library L { + function f(bool) public pure {} + } + + using L for uint; + ``` + Such a code will compile despite the fact that `L` has no function with `uint` as its first argument.""" + # endregion wiki_exploit_scenario + WIKI_RECOMMENDATION = ( + "Make sure that the libraries used in `using-for` statements have at least one function " + "matching a type used in these statements. " + ) + + def _append_result( + self, results: List[Output], uf: UsingForTopLevel, type_: Type, library: Contract + ) -> None: + info: DETECTOR_INFO = [ + f"using-for statement at {uf.source_mapping} is incorrect - no matching function for {type_} found in ", + library, + ".\n", + ] + res = self.generate_result(info) + results.append(res) + + def _detect(self) -> List[Output]: + results: List[Output] = [] + + for uf in self.compilation_unit.using_for_top_level: + # UsingForTopLevel.using_for is a dict with a single entry, which is mapped to a list of functions/libraries + # the following code extracts the type from using-for and skips using-for statements with functions + type_ = list(uf.using_for.keys())[0] + for lib_or_fcn in uf.using_for[type_]: + # checking for using-for with functions is already performed by the compiler; we only consider libraries + if isinstance(lib_or_fcn, UserDefinedType): + lib_or_fcn_type = lib_or_fcn.type + if ( + isinstance(type_, Type) + and isinstance(lib_or_fcn_type, Contract) + and not _is_correctly_used(type_, lib_or_fcn_type) + ): + self._append_result(results, uf, type_, lib_or_fcn_type) + + return results diff --git a/slither/detectors/statements/msg_value_in_loop.py b/slither/detectors/statements/msg_value_in_loop.py index 55bd9bfc2..83c5658ca 100644 --- a/slither/detectors/statements/msg_value_in_loop.py +++ b/slither/detectors/statements/msg_value_in_loop.py @@ -79,7 +79,7 @@ contract MsgValueInLoop{ # endregion wiki_exploit_scenario WIKI_RECOMMENDATION = """ -Track msg.value through a local variable and decrease its amount on every iteration/usage. +Provide an explicit array of amounts alongside the receivers array, and check that the sum of all amounts matches `msg.value`. """ def _detect(self) -> List[Output]: diff --git a/slither/detectors/variables/similar_variables.py b/slither/detectors/variables/similar_variables.py index 465e1ce01..dccaf09c4 100644 --- a/slither/detectors/variables/similar_variables.py +++ b/slither/detectors/variables/similar_variables.py @@ -47,9 +47,7 @@ class SimilarVarsDetection(AbstractDetector): Returns: bool: true if names are similar """ - if len(seq1) != len(seq2): - return False - val = difflib.SequenceMatcher(a=seq1.lower(), b=seq2.lower()).ratio() + val = difflib.SequenceMatcher(a=seq1, b=seq2).ratio() ret = val > 0.90 return ret @@ -65,17 +63,23 @@ class SimilarVarsDetection(AbstractDetector): contract_var = contract.variables - all_var = set(all_var + contract_var) + all_var = list(set(all_var + contract_var)) + + ret = set() + # pylint: disable=consider-using-enumerate + for i in range(len(all_var)): + v1 = all_var[i] + _v1_name_lower = v1.name.lower() + for j in range(i, len(all_var)): + v2 = all_var[j] + if len(v1.name) != len(v2.name): + continue + _v2_name_lower = v2.name.lower() + if _v1_name_lower != _v2_name_lower: + if SimilarVarsDetection.similar(_v1_name_lower, _v2_name_lower): + ret.add((v1, v2)) - ret = [] - for v1 in all_var: - for v2 in all_var: - if v1.name.lower() != v2.name.lower(): - if SimilarVarsDetection.similar(v1.name, v2.name): - if (v2, v1) not in ret: - ret.append((v1, v2)) - - return set(ret) + return ret def _detect(self) -> List[Output]: """Detect similar variables name diff --git a/slither/detectors/variables/unchanged_state_variables.py b/slither/detectors/variables/unchanged_state_variables.py index f12cc5784..0e73ab57b 100644 --- a/slither/detectors/variables/unchanged_state_variables.py +++ b/slither/detectors/variables/unchanged_state_variables.py @@ -87,6 +87,8 @@ class UnchangedStateVariables: def detect(self) -> None: """Detect state variables that could be constant or immutable""" for c in self.compilation_unit.contracts_derived: + if c.is_signature_only(): + continue variables = [] functions = [] diff --git a/slither/detectors/variables/uninitialized_local_variables.py b/slither/detectors/variables/uninitialized_local_variables.py index 759691d50..0aa5579f8 100644 --- a/slither/detectors/variables/uninitialized_local_variables.py +++ b/slither/detectors/variables/uninitialized_local_variables.py @@ -6,7 +6,7 @@ """ from typing import List -from slither.core.cfg.node import Node +from slither.core.cfg.node import Node, NodeType from slither.core.declarations.function_contract import FunctionContract from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification from slither.utils.output import Output @@ -64,6 +64,15 @@ Bob calls `transfer`. As a result, all Ether is sent to the address `0x0` and is self.visited_all_paths[node] = list(set(self.visited_all_paths[node] + fathers_context)) + # Remove a local variable declared in a for loop header + if ( + node.type == NodeType.VARIABLE + and len(node.sons) == 1 # Should always be true for a node that has a STARTLOOP son + and node.sons[0].type == NodeType.STARTLOOP + ): + if node.variable_declaration in fathers_context: + fathers_context.remove(node.variable_declaration) + if self.key in node.context: fathers_context += node.context[self.key] diff --git a/slither/detectors/variables/unused_state_variables.py b/slither/detectors/variables/unused_state_variables.py index afb4e3ac5..830ca34ca 100644 --- a/slither/detectors/variables/unused_state_variables.py +++ b/slither/detectors/variables/unused_state_variables.py @@ -20,8 +20,6 @@ from slither.visitors.expression.export_values import ExportValues def detect_unused(contract: Contract) -> Optional[List[StateVariable]]: - if contract.is_signature_only(): - return None # Get all the variables read in all the functions and modifiers all_functions = [ @@ -73,6 +71,8 @@ class UnusedStateVars(AbstractDetector): """Detect unused state variables""" results = [] for c in self.compilation_unit.contracts_derived: + if c.is_signature_only(): + continue unusedVars = detect_unused(c) if unusedVars: for var in unusedVars: diff --git a/slither/detectors/variables/var_read_using_this.py b/slither/detectors/variables/var_read_using_this.py index a2b93a7d8..537eecf8a 100644 --- a/slither/detectors/variables/var_read_using_this.py +++ b/slither/detectors/variables/var_read_using_this.py @@ -17,7 +17,7 @@ class VarReadUsingThis(AbstractDetector): IMPACT = DetectorClassification.OPTIMIZATION CONFIDENCE = DetectorClassification.HIGH - WIKI = "https://github.com/crytic/slither/wiki/Vulnerabilities-Description#public-variable-read-in-external-context" + WIKI = "https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context" WIKI_TITLE = "Public variable read in external context" WIKI_DESCRIPTION = "The contract reads its own variable using `this`, adding overhead of an unnecessary STATICCALL." diff --git a/slither/printers/all_printers.py b/slither/printers/all_printers.py index 6dc8dddbd..5555fe708 100644 --- a/slither/printers/all_printers.py +++ b/slither/printers/all_printers.py @@ -1,6 +1,7 @@ # pylint: disable=unused-import,relative-beyond-top-level from .summary.function import FunctionSummary from .summary.contract import ContractSummary +from .summary.loc import LocPrinter from .inheritance.inheritance import PrinterInheritance from .inheritance.inheritance_graph import PrinterInheritanceGraph from .call.call_graph import PrinterCallGraph diff --git a/slither/printers/functions/authorization.py b/slither/printers/functions/authorization.py index 48b94c297..32efeaabe 100644 --- a/slither/printers/functions/authorization.py +++ b/slither/printers/functions/authorization.py @@ -47,8 +47,6 @@ class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): txt = "" all_tables = [] for contract in self.contracts: # type: ignore - if contract.is_top_level: - continue txt += f"\nContract {contract.name}\n" table = MyPrettyTable( ["Function", "State variables written", "Conditions on msg.sender"] diff --git a/slither/printers/functions/cfg.py b/slither/printers/functions/cfg.py index 3c75f723f..00804a34d 100644 --- a/slither/printers/functions/cfg.py +++ b/slither/printers/functions/cfg.py @@ -19,8 +19,6 @@ class CFG(AbstractPrinter): info = "" all_files = [] for contract in self.contracts: # type: ignore - if contract.is_top_level: - continue for function in contract.functions + list(contract.modifiers): if filename: new_filename = f"{filename}-{contract.name}-{function.full_name}.dot" diff --git a/slither/printers/guidance/echidna.py b/slither/printers/guidance/echidna.py index acbf5b015..25e0968cd 100644 --- a/slither/printers/guidance/echidna.py +++ b/slither/printers/guidance/echidna.py @@ -32,7 +32,7 @@ from slither.slithir.operations import ( from slither.slithir.operations.binary import Binary from slither.slithir.variables import Constant from slither.utils.output import Output -from slither.visitors.expression.constants_folding import ConstantFolding +from slither.visitors.expression.constants_folding import ConstantFolding, NotConstant def _get_name(f: Union[Function, Variable]) -> str: @@ -178,11 +178,16 @@ def _extract_constants_from_irs( # pylint: disable=too-many-branches,too-many-n all_cst_used_in_binary[str(ir.type)].append( ConstantValue(str(r.value), str(r.type)) ) - if isinstance(ir.variable_left, Constant) and isinstance(ir.variable_right, Constant): - if ir.lvalue: - type_ = ir.lvalue.type - cst = ConstantFolding(ir.expression, type_).result() - all_cst_used.append(ConstantValue(str(cst.value), str(type_))) + if isinstance(ir.variable_left, Constant) or isinstance( + ir.variable_right, Constant + ): + if ir.lvalue: + try: + type_ = ir.lvalue.type + cst = ConstantFolding(ir.expression, type_).result() + all_cst_used.append(ConstantValue(str(cst.value), str(type_))) + except NotConstant: + pass if isinstance(ir, TypeConversion): if isinstance(ir.variable, Constant): if isinstance(ir.type, TypeAlias): diff --git a/slither/printers/inheritance/inheritance.py b/slither/printers/inheritance/inheritance.py index 08c05f95f..4ef961a5a 100644 --- a/slither/printers/inheritance/inheritance.py +++ b/slither/printers/inheritance/inheritance.py @@ -36,8 +36,6 @@ class PrinterInheritance(AbstractPrinter): result = {"child_to_base": {}} for child in self.contracts: - if child.is_top_level: - continue info += blue(f"\n+ {child.name}\n") result["child_to_base"][child.name] = {"immediate": [], "not_immediate": []} if child.inheritance: @@ -58,8 +56,6 @@ class PrinterInheritance(AbstractPrinter): result["base_to_child"] = {} for base in self.contracts: - if base.is_top_level: - continue info += green(f"\n+ {base.name}") + "\n" children = list(self._get_child_contracts(base)) diff --git a/slither/printers/inheritance/inheritance_graph.py b/slither/printers/inheritance/inheritance_graph.py index 2ec9dee1a..95022c067 100644 --- a/slither/printers/inheritance/inheritance_graph.py +++ b/slither/printers/inheritance/inheritance_graph.py @@ -194,8 +194,6 @@ class PrinterInheritanceGraph(AbstractPrinter): content = 'digraph "" {\n' for c in self.contracts: - if c.is_top_level: - continue content += self._summary(c) + "\n" content += "}" diff --git a/slither/printers/summary/contract.py b/slither/printers/summary/contract.py index 5fee94416..3980c63fc 100644 --- a/slither/printers/summary/contract.py +++ b/slither/printers/summary/contract.py @@ -28,9 +28,6 @@ class ContractSummary(AbstractPrinter): all_contracts = [] for c in self.contracts: - if c.is_top_level: - continue - is_upgradeable_proxy = c.is_upgradeable_proxy is_upgradeable = c.is_upgradeable diff --git a/slither/printers/summary/data_depenency.py b/slither/printers/summary/data_depenency.py index f1c0dc8d5..864652978 100644 --- a/slither/printers/summary/data_depenency.py +++ b/slither/printers/summary/data_depenency.py @@ -40,8 +40,6 @@ class DataDependency(AbstractPrinter): txt = "" for c in self.contracts: - if c.is_top_level: - continue txt += f"\nContract {c.name}\n" table = MyPrettyTable(["Variable", "Dependencies"]) for v in c.state_variables: diff --git a/slither/printers/summary/function.py b/slither/printers/summary/function.py index 7f1633865..232980425 100644 --- a/slither/printers/summary/function.py +++ b/slither/printers/summary/function.py @@ -33,8 +33,6 @@ class FunctionSummary(AbstractPrinter): all_txt = "" for c in self.contracts: - if c.is_top_level: - continue (name, inheritance, var, func_summaries, modif_summaries) = c.get_summary() txt = f"\nContract {name}" txt += "\nContract vars: " + str(var) diff --git a/slither/printers/summary/human_summary.py b/slither/printers/summary/human_summary.py index ec8663198..314335ebf 100644 --- a/slither/printers/summary/human_summary.py +++ b/slither/printers/summary/human_summary.py @@ -2,12 +2,12 @@ Module printing summary of the contract """ import logging -from pathlib import Path from typing import Tuple, List, Dict from slither.core.declarations import SolidityFunction, Function from slither.core.variables.state_variable import StateVariable from slither.printers.abstract_printer import AbstractPrinter +from slither.printers.summary.loc import compute_loc_metrics from slither.slithir.operations import ( LowLevelCall, HighLevelCall, @@ -21,7 +21,6 @@ from slither.utils.colors import green, red, yellow from slither.utils.myprettytable import MyPrettyTable from slither.utils.standard_libraries import is_standard_library from slither.core.cfg.node import NodeType -from slither.utils.tests_pattern import is_test_file class PrinterHumanSummary(AbstractPrinter): @@ -32,7 +31,6 @@ class PrinterHumanSummary(AbstractPrinter): @staticmethod def _get_summary_erc20(contract): - functions_name = [f.name for f in contract.functions] state_variables = [v.name for v in contract.state_variables] @@ -165,28 +163,7 @@ class PrinterHumanSummary(AbstractPrinter): def _number_functions(contract): return len(contract.functions) - def _lines_number(self): - if not self.slither.source_code: - return None - total_dep_lines = 0 - total_lines = 0 - total_tests_lines = 0 - - for filename, source_code in self.slither.source_code.items(): - lines = len(source_code.splitlines()) - is_dep = False - if self.slither.crytic_compile: - is_dep = self.slither.crytic_compile.is_dependency(filename) - if is_dep: - total_dep_lines += lines - else: - if is_test_file(Path(filename)): - total_tests_lines += lines - else: - total_lines += lines - return total_lines, total_dep_lines, total_tests_lines - - def _get_number_of_assembly_lines(self): + def _get_number_of_assembly_lines(self) -> int: total_asm_lines = 0 for contract in self.contracts: for function in contract.functions_declared: @@ -202,10 +179,8 @@ class PrinterHumanSummary(AbstractPrinter): return "Compilation non standard\n" return f"Compiled with {str(self.slither.crytic_compile.type)}\n" - def _number_contracts(self): - if self.slither.crytic_compile is None: - return len(self.slither.contracts), 0, 0 - contracts = [c for c in self.slither.contracts if not c.is_top_level] + def _number_contracts(self) -> Tuple[int, int, int]: + contracts = self.slither.contracts deps = [c for c in contracts if c.is_from_dependency()] tests = [c for c in contracts if c.is_test] return len(contracts) - len(deps) - len(tests), len(deps), len(tests) @@ -226,7 +201,6 @@ class PrinterHumanSummary(AbstractPrinter): return list(set(ercs)) def _get_features(self, contract): # pylint: disable=too-many-branches - has_payable = False can_send_eth = False can_selfdestruct = False @@ -291,6 +265,36 @@ class PrinterHumanSummary(AbstractPrinter): "Proxy": contract.is_upgradeable_proxy, } + def _get_contracts(self, txt: str) -> str: + ( + number_contracts, + number_contracts_deps, + number_contracts_tests, + ) = self._number_contracts() + txt += f"Total number of contracts in source files: {number_contracts}\n" + if number_contracts_deps > 0: + txt += f"Number of contracts in dependencies: {number_contracts_deps}\n" + if number_contracts_tests > 0: + txt += f"Number of contracts in tests : {number_contracts_tests}\n" + return txt + + def _get_number_lines(self, txt: str, results: Dict) -> Tuple[str, Dict]: + loc = compute_loc_metrics(self.slither) + txt += "Source lines of code (SLOC) in source files: " + txt += f"{loc.src.sloc}\n" + if loc.dep.sloc > 0: + txt += "Source lines of code (SLOC) in dependencies: " + txt += f"{loc.dep.sloc}\n" + if loc.test.sloc > 0: + txt += "Source lines of code (SLOC) in tests : " + txt += f"{loc.test.sloc}\n" + results["number_lines"] = loc.src.sloc + results["number_lines__dependencies"] = loc.dep.sloc + total_asm_lines = self._get_number_of_assembly_lines() + txt += f"Number of assembly lines: {total_asm_lines}\n" + results["number_lines_assembly"] = total_asm_lines + return txt, results + def output(self, _filename): # pylint: disable=too-many-locals,too-many-statements """ _filename is not used @@ -311,24 +315,8 @@ class PrinterHumanSummary(AbstractPrinter): "number_findings": {}, "detectors": [], } - - lines_number = self._lines_number() - if lines_number: - total_lines, total_dep_lines, total_tests_lines = lines_number - txt += f"Number of lines: {total_lines} (+ {total_dep_lines} in dependencies, + {total_tests_lines} in tests)\n" - results["number_lines"] = total_lines - results["number_lines__dependencies"] = total_dep_lines - total_asm_lines = self._get_number_of_assembly_lines() - txt += f"Number of assembly lines: {total_asm_lines}\n" - results["number_lines_assembly"] = total_asm_lines - - ( - number_contracts, - number_contracts_deps, - number_contracts_tests, - ) = self._number_contracts() - txt += f"Number of contracts: {number_contracts} (+ {number_contracts_deps} in dependencies, + {number_contracts_tests} tests) \n\n" - + txt = self._get_contracts(txt) + txt, results = self._get_number_lines(txt, results) ( txt_detectors, detectors_results, @@ -352,7 +340,7 @@ class PrinterHumanSummary(AbstractPrinter): libs = self._standard_libraries() if libs: txt += f'\nUse: {", ".join(libs)}\n' - results["standard_libraries"] = [str(l) for l in libs] + results["standard_libraries"] = [str(lib) for lib in libs] ercs = self._ercs() if ercs: @@ -363,7 +351,6 @@ class PrinterHumanSummary(AbstractPrinter): ["Name", "# functions", "ERCS", "ERC20 info", "Complex code", "Features"] ) for contract in self.slither.contracts_derived: - if contract.is_from_dependency() or contract.is_test: continue diff --git a/slither/printers/summary/loc.py b/slither/printers/summary/loc.py new file mode 100644 index 000000000..35bb20fc4 --- /dev/null +++ b/slither/printers/summary/loc.py @@ -0,0 +1,35 @@ +""" + Lines of Code (LOC) printer + + Definitions: + cloc: comment lines of code containing only comments + sloc: source lines of code with no whitespace or comments + loc: all lines of code including whitespace and comments + src: source files (excluding tests and dependencies) + dep: dependency files + test: test files +""" + +from slither.printers.abstract_printer import AbstractPrinter +from slither.utils.loc import compute_loc_metrics +from slither.utils.output import Output + + +class LocPrinter(AbstractPrinter): + ARGUMENT = "loc" + HELP = """Count the total number lines of code (LOC), source lines of code (SLOC), \ + and comment lines of code (CLOC) found in source files (SRC), dependencies (DEP), \ + and test files (TEST).""" + + WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#loc" + + def output(self, _filename: str) -> Output: + # compute loc metrics + loc = compute_loc_metrics(self.slither) + + table = loc.to_pretty_table() + txt = "Lines of Code \n" + str(table) + self.info(txt) + res = self.generate_output(txt) + res.add_pretty_table(table, "Code Lines") + return res diff --git a/slither/printers/summary/slithir.py b/slither/printers/summary/slithir.py index be9ebc8f5..cbdb50dcc 100644 --- a/slither/printers/summary/slithir.py +++ b/slither/printers/summary/slithir.py @@ -36,8 +36,6 @@ class PrinterSlithIR(AbstractPrinter): txt = "" for compilation_unit in self.slither.compilation_units: for contract in compilation_unit.contracts: - if contract.is_top_level: - continue txt += f"Contract {contract.name}\n" for function in contract.functions: txt += f'\tFunction {function.canonical_name} {"" if function.is_shadowed else "(*)"}\n' diff --git a/slither/printers/summary/slithir_ssa.py b/slither/printers/summary/slithir_ssa.py index e7f2ca1e3..052597299 100644 --- a/slither/printers/summary/slithir_ssa.py +++ b/slither/printers/summary/slithir_ssa.py @@ -21,8 +21,6 @@ class PrinterSlithIRSSA(AbstractPrinter): txt = "" for contract in self.contracts: - if contract.is_top_level: - continue txt += f"Contract {contract.name}" + "\n" for function in contract.functions: txt += f"\tFunction {function.canonical_name}" + "\n" diff --git a/slither/printers/summary/when_not_paused.py b/slither/printers/summary/when_not_paused.py index d8a57b6c7..aaeeeacec 100644 --- a/slither/printers/summary/when_not_paused.py +++ b/slither/printers/summary/when_not_paused.py @@ -10,8 +10,6 @@ from slither.utils.myprettytable import MyPrettyTable def _use_modifier(function: Function, modifier_name: str = "whenNotPaused") -> bool: - if function.is_constructor or function.view or function.pure: - return False for internal_call in function.all_internal_calls(): if isinstance(internal_call, SolidityFunction): @@ -23,7 +21,7 @@ def _use_modifier(function: Function, modifier_name: str = "whenNotPaused") -> b class PrinterWhenNotPaused(AbstractPrinter): - ARGUMENT = "pausable" + ARGUMENT = "not-pausable" HELP = "Print functions that do not use whenNotPaused" WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#when-not-paused" @@ -46,6 +44,8 @@ class PrinterWhenNotPaused(AbstractPrinter): table = MyPrettyTable(["Name", "Use whenNotPaused"]) for function in contract.functions_entry_points: + if function.is_constructor or function.view or function.pure: + continue status = "X" if _use_modifier(function, modifier_name) else "" table.add_row([function.solidity_signature, status]) diff --git a/slither/slithir/convert.py b/slither/slithir/convert.py index 3cfddf5e6..d40715c4f 100644 --- a/slither/slithir/convert.py +++ b/slither/slithir/convert.py @@ -1077,7 +1077,7 @@ def extract_tmp_call(ins: TmpCall, contract: Optional[Contract]) -> Union[Call, return op if isinstance(ins.ori, TmpNewArray): - n = NewArray(ins.ori.depth, ins.ori.array_type, ins.lvalue) + n = NewArray(ins.ori.array_type, ins.lvalue) n.set_expression(ins.expression) return n @@ -1363,7 +1363,15 @@ def convert_to_pop(ir: HighLevelCall, node: "Node") -> List[Operation]: # TODO the following is equivalent to length.points_to = arr # Should it be removed? ir_length.lvalue.points_to = arr - element_to_delete.set_type(ElementaryType("uint256")) + # Note bytes is an ElementaryType not ArrayType and bytes1 should be returned + # since bytes is bytes1[] without padding between the elements + # while in other cases such as uint256[] (ArrayType) we use ir.destination.type.type + # in this way we will have the type always set to the corresponding ElementaryType + element_to_delete.set_type( + ElementaryType("bytes1") + if isinstance(ir.destination.type, ElementaryType) + else ir.destination.type.type + ) ir_assign_element_to_delete.set_expression(ir.expression) ir_assign_element_to_delete.set_node(ir.node) ret.append(ir_assign_element_to_delete) @@ -1576,7 +1584,9 @@ def _convert_to_structure_to_list(return_type: Type) -> List[Type]: # } if isinstance(return_type, (MappingType, ArrayType)): return [] - return [return_type.type] + + assert isinstance(return_type, (ElementaryType, UserDefinedType, TypeAlias)) + return [return_type] def convert_type_of_high_and_internal_level_call( diff --git a/slither/slithir/operations/assignment.py b/slither/slithir/operations/assignment.py index 5bedf2c85..1f29ceb7b 100644 --- a/slither/slithir/operations/assignment.py +++ b/slither/slithir/operations/assignment.py @@ -50,5 +50,5 @@ class Assignment(OperationWithLValue): points = lvalue.points_to while isinstance(points, ReferenceVariable): points = points.points_to - return f"{lvalue} (->{points}) := {self.rvalue}({self.rvalue.type})" + return f"{lvalue}({lvalue.type}) (->{points}) := {self.rvalue}({self.rvalue.type})" return f"{lvalue}({lvalue.type}) := {self.rvalue}({self.rvalue.type})" diff --git a/slither/slithir/operations/binary.py b/slither/slithir/operations/binary.py index d1355a965..06eb172a7 100644 --- a/slither/slithir/operations/binary.py +++ b/slither/slithir/operations/binary.py @@ -94,7 +94,6 @@ class BinaryType(Enum): return self in [ BinaryType.POWER, BinaryType.MULTIPLICATION, - BinaryType.MODULO, BinaryType.ADDITION, BinaryType.SUBTRACTION, BinaryType.DIVISION, diff --git a/slither/slithir/operations/index.py b/slither/slithir/operations/index.py index f38a25927..4fcfb8a6d 100644 --- a/slither/slithir/operations/index.py +++ b/slither/slithir/operations/index.py @@ -3,6 +3,7 @@ from typing import List, Union from slither.core.declarations import SolidityVariableComposed from slither.core.source_mapping.source_mapping import SourceMapping from slither.core.variables.variable import Variable +from slither.core.variables.top_level_variable import TopLevelVariable from slither.slithir.operations.lvalue import OperationWithLValue from slither.slithir.utils.utils import is_valid_lvalue, is_valid_rvalue, RVALUE, LVALUE from slither.slithir.variables.reference import ReferenceVariable @@ -13,8 +14,10 @@ class Index(OperationWithLValue): self, result: ReferenceVariable, left_variable: Variable, right_variable: RVALUE ) -> None: super().__init__() - assert is_valid_lvalue(left_variable) or left_variable == SolidityVariableComposed( - "msg.data" + assert ( + is_valid_lvalue(left_variable) + or left_variable == SolidityVariableComposed("msg.data") + or isinstance(left_variable, TopLevelVariable) ) assert is_valid_rvalue(right_variable) assert isinstance(result, ReferenceVariable) diff --git a/slither/slithir/operations/init_array.py b/slither/slithir/operations/init_array.py index 4f6b2f9fa..e0754c770 100644 --- a/slither/slithir/operations/init_array.py +++ b/slither/slithir/operations/init_array.py @@ -41,7 +41,7 @@ class InitArray(OperationWithLValue): def convert(elem): if isinstance(elem, (list,)): return str([convert(x) for x in elem]) - return str(elem) + return f"{elem}({elem.type})" init_values = convert(self.init_values) return f"{self.lvalue}({self.lvalue.type}) = {init_values}" diff --git a/slither/slithir/operations/new_array.py b/slither/slithir/operations/new_array.py index 8dad8532f..39b989459 100644 --- a/slither/slithir/operations/new_array.py +++ b/slither/slithir/operations/new_array.py @@ -1,10 +1,10 @@ from typing import List, Union, TYPE_CHECKING -from slither.slithir.operations.lvalue import OperationWithLValue + +from slither.core.solidity_types.array_type import ArrayType from slither.slithir.operations.call import Call -from slither.core.solidity_types.type import Type +from slither.slithir.operations.lvalue import OperationWithLValue if TYPE_CHECKING: - from slither.core.solidity_types.type_alias import TypeAliasTopLevel from slither.slithir.variables.constant import Constant from slither.slithir.variables.temporary import TemporaryVariable from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA @@ -13,29 +13,24 @@ if TYPE_CHECKING: class NewArray(Call, OperationWithLValue): def __init__( self, - depth: int, - array_type: "TypeAliasTopLevel", + array_type: "ArrayType", lvalue: Union["TemporaryVariableSSA", "TemporaryVariable"], ) -> None: super().__init__() - assert isinstance(array_type, Type) - self._depth = depth + assert isinstance(array_type, ArrayType) self._array_type = array_type self._lvalue = lvalue @property - def array_type(self) -> "TypeAliasTopLevel": + def array_type(self) -> "ArrayType": return self._array_type @property def read(self) -> List["Constant"]: return self._unroll(self.arguments) - @property - def depth(self) -> int: - return self._depth - def __str__(self): args = [str(a) for a in self.arguments] - return f"{self.lvalue} = new {self.array_type}{'[]' * self.depth}({','.join(args)})" + lvalue = self.lvalue + return f"{lvalue}{lvalue.type}) = new {self.array_type}({','.join(args)})" diff --git a/slither/slithir/operations/new_contract.py b/slither/slithir/operations/new_contract.py index 10fa91efd..518a097cb 100644 --- a/slither/slithir/operations/new_contract.py +++ b/slither/slithir/operations/new_contract.py @@ -104,4 +104,5 @@ class NewContract(Call, OperationWithLValue): # pylint: disable=too-many-instan if self.call_salt: options += f"salt:{self.call_salt} " args = [str(a) for a in self.arguments] - return f"{self.lvalue} = new {self.contract_name}({','.join(args)}) {options}" + lvalue = self.lvalue + return f"{lvalue}({lvalue.type}) = new {self.contract_name}({','.join(args)}) {options}" diff --git a/slither/slithir/operations/new_structure.py b/slither/slithir/operations/new_structure.py index f24b3bccd..c50cd6a3e 100644 --- a/slither/slithir/operations/new_structure.py +++ b/slither/slithir/operations/new_structure.py @@ -39,4 +39,5 @@ class NewStructure(Call, OperationWithLValue): def __str__(self): args = [str(a) for a in self.arguments] - return f"{self.lvalue} = new {self.structure_name}({','.join(args)})" + lvalue = self.lvalue + return f"{lvalue}({lvalue.type}) = new {self.structure_name}({','.join(args)})" diff --git a/slither/slithir/operations/unary.py b/slither/slithir/operations/unary.py index a6529d726..c6493921d 100644 --- a/slither/slithir/operations/unary.py +++ b/slither/slithir/operations/unary.py @@ -58,7 +58,7 @@ class Unary(OperationWithLValue): @property def type_str(self): - return self._type.value + return str(self._type) def __str__(self): return f"{self.lvalue} = {self.type_str} {self.rvalue} " diff --git a/slither/slithir/tmp_operations/tmp_new_array.py b/slither/slithir/tmp_operations/tmp_new_array.py index efbdb6242..04acb4b9e 100644 --- a/slither/slithir/tmp_operations/tmp_new_array.py +++ b/slither/slithir/tmp_operations/tmp_new_array.py @@ -6,13 +6,11 @@ from slither.slithir.variables.temporary import TemporaryVariable class TmpNewArray(OperationWithLValue): def __init__( self, - depth: int, array_type: Type, lvalue: TemporaryVariable, ) -> None: super().__init__() assert isinstance(array_type, Type) - self._depth = depth self._array_type = array_type self._lvalue = lvalue @@ -24,9 +22,5 @@ class TmpNewArray(OperationWithLValue): def read(self): return [] - @property - def depth(self) -> int: - return self._depth - def __str__(self): - return f"{self.lvalue} = new {self.array_type}{'[]' * self._depth}" + return f"{self.lvalue} = new {self.array_type}" diff --git a/slither/slithir/utils/ssa.py b/slither/slithir/utils/ssa.py index 9a180d14f..4c958798b 100644 --- a/slither/slithir/utils/ssa.py +++ b/slither/slithir/utils/ssa.py @@ -789,10 +789,9 @@ def copy_ir(ir: Operation, *instances) -> Operation: variable_right = get_variable(ir, lambda x: x.variable_right, *instances) return Member(variable_left, variable_right, lvalue) if isinstance(ir, NewArray): - depth = ir.depth array_type = ir.array_type lvalue = get_variable(ir, lambda x: x.lvalue, *instances) - new_ir = NewArray(depth, array_type, lvalue) + new_ir = NewArray(array_type, lvalue) new_ir.arguments = get_rec_values(ir, lambda x: x.arguments, *instances) return new_ir if isinstance(ir, NewElementaryType): diff --git a/slither/slithir/variables/reference.py b/slither/slithir/variables/reference.py index 9ab51be65..2f99d322e 100644 --- a/slither/slithir/variables/reference.py +++ b/slither/slithir/variables/reference.py @@ -2,6 +2,7 @@ from typing import Optional, TYPE_CHECKING from slither.core.declarations import Contract, Enum, SolidityVariable, Function from slither.core.variables.variable import Variable +from slither.core.variables.top_level_variable import TopLevelVariable if TYPE_CHECKING: from slither.core.cfg.node import Node @@ -46,7 +47,7 @@ class ReferenceVariable(Variable): from slither.slithir.utils.utils import is_valid_lvalue assert is_valid_lvalue(points_to) or isinstance( - points_to, (SolidityVariable, Contract, Enum) + points_to, (SolidityVariable, Contract, Enum, TopLevelVariable) ) self._points_to = points_to diff --git a/slither/solc_parsing/declarations/contract.py b/slither/solc_parsing/declarations/contract.py index f3202d00c..74a1cbcf0 100644 --- a/slither/solc_parsing/declarations/contract.py +++ b/slither/solc_parsing/declarations/contract.py @@ -170,10 +170,9 @@ class ContractSolc(CallerContextExpression): elif attributes["contractKind"] == "library": self._contract.is_library = True self._contract.contract_kind = attributes["contractKind"] - self._contract.is_fully_implemented = attributes["fullyImplemented"] + self._contract.is_fully_implemented = attributes["fullyImplemented"] self._linearized_base_contracts = attributes["linearizedBaseContracts"] - # self._contract.fullyImplemented = attributes["fullyImplemented"] # Parse base contract information self._parse_base_contract_info() diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index ba2f225f0..35ca51aeb 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1,5 +1,5 @@ import logging -from typing import Dict, Optional, Union, List, TYPE_CHECKING, Tuple +from typing import Dict, Optional, Union, List, TYPE_CHECKING, Tuple, Set from slither.core.cfg.node import NodeType, link_nodes, insert_node, Node from slither.core.cfg.scope import Scope @@ -354,7 +354,7 @@ class FunctionSolc(CallerContextExpression): ################################################################################### ################################################################################### - def _parse_if(self, if_statement: Dict, node: NodeSolc) -> NodeSolc: + def _parse_if(self, if_statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: # IfStatement = 'if' '(' Expression ')' Statement ( 'else' Statement )? falseStatement = None @@ -362,21 +362,15 @@ class FunctionSolc(CallerContextExpression): condition = if_statement["condition"] # Note: check if the expression could be directly # parsed here - condition_node = self._new_node( - NodeType.IF, condition["src"], node.underlying_node.scope - ) + condition_node = self._new_node(NodeType.IF, condition["src"], scope) condition_node.add_unparsed_expression(condition) link_underlying_nodes(node, condition_node) - true_scope = Scope( - node.underlying_node.scope.is_checked, False, node.underlying_node.scope - ) + true_scope = Scope(scope.is_checked, False, scope) trueStatement = self._parse_statement( if_statement["trueBody"], condition_node, true_scope ) if "falseBody" in if_statement and if_statement["falseBody"]: - false_scope = Scope( - node.underlying_node.scope.is_checked, False, node.underlying_node.scope - ) + false_scope = Scope(scope.is_checked, False, scope) falseStatement = self._parse_statement( if_statement["falseBody"], condition_node, false_scope ) @@ -385,22 +379,16 @@ class FunctionSolc(CallerContextExpression): condition = children[0] # Note: check if the expression could be directly # parsed here - condition_node = self._new_node( - NodeType.IF, condition["src"], node.underlying_node.scope - ) + condition_node = self._new_node(NodeType.IF, condition["src"], scope) condition_node.add_unparsed_expression(condition) link_underlying_nodes(node, condition_node) - true_scope = Scope( - node.underlying_node.scope.is_checked, False, node.underlying_node.scope - ) + true_scope = Scope(scope.is_checked, False, scope) trueStatement = self._parse_statement(children[1], condition_node, true_scope) if len(children) == 3: - false_scope = Scope( - node.underlying_node.scope.is_checked, False, node.underlying_node.scope - ) + false_scope = Scope(scope.is_checked, False, scope) falseStatement = self._parse_statement(children[2], condition_node, false_scope) - endIf_node = self._new_node(NodeType.ENDIF, if_statement["src"], node.underlying_node.scope) + endIf_node = self._new_node(NodeType.ENDIF, if_statement["src"], scope) link_underlying_nodes(trueStatement, endIf_node) if falseStatement: @@ -409,32 +397,26 @@ class FunctionSolc(CallerContextExpression): link_underlying_nodes(condition_node, endIf_node) return endIf_node - def _parse_while(self, whilte_statement: Dict, node: NodeSolc) -> NodeSolc: + def _parse_while(self, whilte_statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: # WhileStatement = 'while' '(' Expression ')' Statement - node_startWhile = self._new_node( - NodeType.STARTLOOP, whilte_statement["src"], node.underlying_node.scope - ) + node_startWhile = self._new_node(NodeType.STARTLOOP, whilte_statement["src"], scope) - body_scope = Scope(node.underlying_node.scope.is_checked, False, node.underlying_node.scope) + body_scope = Scope(scope.is_checked, False, scope) if self.is_compact_ast: node_condition = self._new_node( - NodeType.IFLOOP, whilte_statement["condition"]["src"], node.underlying_node.scope + NodeType.IFLOOP, whilte_statement["condition"]["src"], scope ) node_condition.add_unparsed_expression(whilte_statement["condition"]) statement = self._parse_statement(whilte_statement["body"], node_condition, body_scope) else: children = whilte_statement[self.get_children("children")] expression = children[0] - node_condition = self._new_node( - NodeType.IFLOOP, expression["src"], node.underlying_node.scope - ) + node_condition = self._new_node(NodeType.IFLOOP, expression["src"], scope) node_condition.add_unparsed_expression(expression) statement = self._parse_statement(children[1], node_condition, body_scope) - node_endWhile = self._new_node( - NodeType.ENDLOOP, whilte_statement["src"], node.underlying_node.scope - ) + node_endWhile = self._new_node(NodeType.ENDLOOP, whilte_statement["src"], scope) link_underlying_nodes(node, node_startWhile) link_underlying_nodes(node_startWhile, node_condition) @@ -562,7 +544,7 @@ class FunctionSolc(CallerContextExpression): return pre, cond, post, body - def _parse_for(self, statement: Dict, node: NodeSolc) -> NodeSolc: + def _parse_for(self, statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: # ForStatement = 'for' '(' (SimpleStatement)? ';' (Expression)? ';' (ExpressionStatement)? ')' Statement if self.is_compact_ast: @@ -570,17 +552,13 @@ class FunctionSolc(CallerContextExpression): else: pre, cond, post, body = self._parse_for_legacy_ast(statement) - node_startLoop = self._new_node( - NodeType.STARTLOOP, statement["src"], node.underlying_node.scope - ) - node_endLoop = self._new_node( - NodeType.ENDLOOP, statement["src"], node.underlying_node.scope - ) + node_startLoop = self._new_node(NodeType.STARTLOOP, statement["src"], scope) + node_endLoop = self._new_node(NodeType.ENDLOOP, statement["src"], scope) - last_scope = node.underlying_node.scope + last_scope = scope if pre: - pre_scope = Scope(node.underlying_node.scope.is_checked, False, last_scope) + pre_scope = Scope(scope.is_checked, False, last_scope) last_scope = pre_scope node_init_expression = self._parse_statement(pre, node, pre_scope) link_underlying_nodes(node_init_expression, node_startLoop) @@ -588,7 +566,7 @@ class FunctionSolc(CallerContextExpression): link_underlying_nodes(node, node_startLoop) if cond: - cond_scope = Scope(node.underlying_node.scope.is_checked, False, last_scope) + cond_scope = Scope(scope.is_checked, False, last_scope) last_scope = cond_scope node_condition = self._new_node(NodeType.IFLOOP, cond["src"], cond_scope) node_condition.add_unparsed_expression(cond) @@ -599,7 +577,7 @@ class FunctionSolc(CallerContextExpression): node_condition = None node_beforeBody = node_startLoop - body_scope = Scope(node.underlying_node.scope.is_checked, False, last_scope) + body_scope = Scope(scope.is_checked, False, last_scope) last_scope = body_scope node_body = self._parse_statement(body, node_beforeBody, body_scope) @@ -619,14 +597,10 @@ class FunctionSolc(CallerContextExpression): return node_endLoop - def _parse_dowhile(self, do_while_statement: Dict, node: NodeSolc) -> NodeSolc: + def _parse_dowhile(self, do_while_statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: - node_startDoWhile = self._new_node( - NodeType.STARTLOOP, do_while_statement["src"], node.underlying_node.scope - ) - condition_scope = Scope( - node.underlying_node.scope.is_checked, False, node.underlying_node.scope - ) + node_startDoWhile = self._new_node(NodeType.STARTLOOP, do_while_statement["src"], scope) + condition_scope = Scope(scope.is_checked, False, scope) if self.is_compact_ast: node_condition = self._new_node( @@ -644,7 +618,7 @@ class FunctionSolc(CallerContextExpression): node_condition.add_unparsed_expression(expression) statement = self._parse_statement(children[1], node_condition, condition_scope) - body_scope = Scope(node.underlying_node.scope.is_checked, False, condition_scope) + body_scope = Scope(scope.is_checked, False, condition_scope) node_endDoWhile = self._new_node(NodeType.ENDLOOP, do_while_statement["src"], body_scope) link_underlying_nodes(node, node_startDoWhile) @@ -660,46 +634,124 @@ class FunctionSolc(CallerContextExpression): link_underlying_nodes(node_condition, node_endDoWhile) return node_endDoWhile - def _parse_try_catch(self, statement: Dict, node: NodeSolc) -> NodeSolc: + # pylint: disable=no-self-use + def _construct_try_expression(self, externalCall: Dict, parameters_list: Dict) -> Dict: + # if the parameters are more than 1 we make the leftHandSide of the Assignment node + # a TupleExpression otherwise an Identifier + + # case when there isn't returns(...) + # e.g. external call that doesn't have any return variable + if not parameters_list: + return externalCall + + ret: Dict = {"nodeType": "Assignment", "operator": "=", "src": parameters_list["src"]} + + parameters = parameters_list.get("parameters", None) + + # if the name is "" it means the return variable is not used + if len(parameters) == 1: + if parameters[0]["name"] != "": + self._add_param(parameters[0]) + ret["typeDescriptions"] = { + "typeString": parameters[0]["typeName"]["typeDescriptions"]["typeString"] + } + leftHandSide = { + "name": parameters[0]["name"], + "nodeType": "Identifier", + "src": parameters[0]["src"], + "referencedDeclaration": parameters[0]["id"], + "typeDescriptions": parameters[0]["typeDescriptions"], + } + else: + # we don't need an Assignment so we return only the external call + return externalCall + else: + ret["typeDescriptions"] = {"typeString": "tuple()"} + leftHandSide = { + "components": [], + "nodeType": "TupleExpression", + "src": parameters_list["src"], + } + + for i, p in enumerate(parameters): + if p["name"] == "": + continue + + new_statement = { + "nodeType": "VariableDefinitionStatement", + "src": p["src"], + "declarations": [p], + } + self._add_param_init_tuple(new_statement, i) + + ident = { + "name": p["name"], + "nodeType": "Identifier", + "src": p["src"], + "referencedDeclaration": p["id"], + "typeDescriptions": p["typeDescriptions"], + } + leftHandSide["components"].append(ident) + + ret["leftHandSide"] = leftHandSide + ret["rightHandSide"] = externalCall + + return ret + + def _parse_try_catch(self, statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: externalCall = statement.get("externalCall", None) if externalCall is None: raise ParsingError(f"Try/Catch not correctly parsed by Slither {statement}") - catch_scope = Scope( - node.underlying_node.scope.is_checked, False, node.underlying_node.scope - ) + catch_scope = Scope(scope.is_checked, False, scope) new_node = self._new_node(NodeType.TRY, statement["src"], catch_scope) - new_node.add_unparsed_expression(externalCall) + clauses = statement.get("clauses", []) + # the first clause is the try scope + returned_variables = clauses[0].get("parameters", None) + constructed_try_expression = self._construct_try_expression( + externalCall, returned_variables + ) + new_node.add_unparsed_expression(constructed_try_expression) link_underlying_nodes(node, new_node) node = new_node - for clause in statement.get("clauses", []): - self._parse_catch(clause, node) + for index, clause in enumerate(clauses): + # clauses after the first one are related to catch cases + # we set the parameters (e.g. data in this case. catch(string memory data) ...) + # to be initialized so they are not reported by the uninitialized-local-variables detector + if index >= 1: + self._parse_catch(clause, node, catch_scope, True) + else: + # the parameters for the try scope were already added in _construct_try_expression + self._parse_catch(clause, node, catch_scope, False) return node - def _parse_catch(self, statement: Dict, node: NodeSolc) -> NodeSolc: + def _parse_catch( + self, statement: Dict, node: NodeSolc, scope: Scope, add_param: bool + ) -> NodeSolc: block = statement.get("block", None) if block is None: raise ParsingError(f"Catch not correctly parsed by Slither {statement}") - try_scope = Scope(node.underlying_node.scope.is_checked, False, node.underlying_node.scope) + try_scope = Scope(scope.is_checked, False, scope) try_node = self._new_node(NodeType.CATCH, statement["src"], try_scope) link_underlying_nodes(node, try_node) - if self.is_compact_ast: - params = statement.get("parameters", None) - else: - params = statement[self.get_children("children")] + if add_param: + if self.is_compact_ast: + params = statement.get("parameters", None) + else: + params = statement[self.get_children("children")] - if params: - for param in params.get("parameters", []): - assert param[self.get_key()] == "VariableDeclaration" - self._add_param(param) + if params: + for param in params.get("parameters", []): + assert param[self.get_key()] == "VariableDeclaration" + self._add_param(param, True) return self._parse_statement(block, try_node, try_scope) - def _parse_variable_definition(self, statement: Dict, node: NodeSolc) -> NodeSolc: + def _parse_variable_definition(self, statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: try: local_var = LocalVariable() local_var.set_function(self._function) @@ -709,9 +761,7 @@ class FunctionSolc(CallerContextExpression): self._add_local_variable(local_var_parser) # local_var.analyze(self) - new_node = self._new_node( - NodeType.VARIABLE, statement["src"], node.underlying_node.scope - ) + new_node = self._new_node(NodeType.VARIABLE, statement["src"], scope) new_node.underlying_node.add_variable_declaration(local_var) link_underlying_nodes(node, new_node) return new_node @@ -741,7 +791,7 @@ class FunctionSolc(CallerContextExpression): "declarations": [variable], "initialValue": init, } - new_node = self._parse_variable_definition(new_statement, new_node) + new_node = self._parse_variable_definition(new_statement, new_node, scope) else: # If we have @@ -763,7 +813,7 @@ class FunctionSolc(CallerContextExpression): variables.append(variable) new_node = self._parse_variable_definition_init_tuple( - new_statement, i, new_node + new_statement, i, new_node, scope ) i = i + 1 @@ -774,6 +824,7 @@ class FunctionSolc(CallerContextExpression): "nodeType": "Identifier", "src": v["src"], "name": v["name"], + "referencedDeclaration": v["id"], "typeDescriptions": {"typeString": v["typeDescriptions"]["typeString"]}, } var_identifiers.append(identifier) @@ -794,9 +845,7 @@ class FunctionSolc(CallerContextExpression): "typeDescriptions": {"typeString": "tuple()"}, } node = new_node - new_node = self._new_node( - NodeType.EXPRESSION, statement["src"], node.underlying_node.scope - ) + new_node = self._new_node(NodeType.EXPRESSION, statement["src"], scope) new_node.add_unparsed_expression(expression) link_underlying_nodes(node, new_node) @@ -827,7 +876,7 @@ class FunctionSolc(CallerContextExpression): self.get_children("children"): [variable, init], } - new_node = self._parse_variable_definition(new_statement, new_node) + new_node = self._parse_variable_definition(new_statement, new_node, scope) else: # If we have # var (a, b) = f() @@ -846,7 +895,7 @@ class FunctionSolc(CallerContextExpression): variables.append(variable) new_node = self._parse_variable_definition_init_tuple( - new_statement, i, new_node + new_statement, i, new_node, scope ) i = i + 1 var_identifiers = [] @@ -876,16 +925,14 @@ class FunctionSolc(CallerContextExpression): ], } node = new_node - new_node = self._new_node( - NodeType.EXPRESSION, statement["src"], node.underlying_node.scope - ) + new_node = self._new_node(NodeType.EXPRESSION, statement["src"], scope) new_node.add_unparsed_expression(expression) link_underlying_nodes(node, new_node) return new_node def _parse_variable_definition_init_tuple( - self, statement: Dict, index: int, node: NodeSolc + self, statement: Dict, index: int, node: NodeSolc, scope ) -> NodeSolc: local_var = LocalVariableInitFromTuple() local_var.set_function(self._function) @@ -895,7 +942,7 @@ class FunctionSolc(CallerContextExpression): self._add_local_variable(local_var_parser) - new_node = self._new_node(NodeType.VARIABLE, statement["src"], node.underlying_node.scope) + new_node = self._new_node(NodeType.VARIABLE, statement["src"], scope) new_node.underlying_node.add_variable_declaration(local_var) link_underlying_nodes(node, new_node) return new_node @@ -916,15 +963,15 @@ class FunctionSolc(CallerContextExpression): name = statement[self.get_key()] # SimpleStatement = VariableDefinition | ExpressionStatement if name == "IfStatement": - node = self._parse_if(statement, node) + node = self._parse_if(statement, node, scope) elif name == "WhileStatement": - node = self._parse_while(statement, node) + node = self._parse_while(statement, node, scope) elif name == "ForStatement": - node = self._parse_for(statement, node) + node = self._parse_for(statement, node, scope) elif name == "Block": - node = self._parse_block(statement, node) + node = self._parse_block(statement, node, scope) elif name == "UncheckedBlock": - node = self._parse_unchecked_block(statement, node) + node = self._parse_unchecked_block(statement, node, scope) elif name == "InlineAssembly": # Added with solc 0.6 - the yul code is an AST if "AST" in statement and not self.compilation_unit.core.skip_assembly: @@ -946,7 +993,7 @@ class FunctionSolc(CallerContextExpression): link_underlying_nodes(node, asm_node) node = asm_node elif name == "DoWhileStatement": - node = self._parse_dowhile(statement, node) + node = self._parse_dowhile(statement, node, scope) # For Continue / Break / Return / Throw # The is fixed later elif name == "Continue": @@ -987,7 +1034,7 @@ class FunctionSolc(CallerContextExpression): link_underlying_nodes(node, new_node) node = new_node elif name in ["VariableDefinitionStatement", "VariableDeclarationStatement"]: - node = self._parse_variable_definition(statement, node) + node = self._parse_variable_definition(statement, node, scope) elif name == "ExpressionStatement": # assert len(statement[self.get_children('expression')]) == 1 # assert not 'attributes' in statement @@ -1001,7 +1048,7 @@ class FunctionSolc(CallerContextExpression): link_underlying_nodes(node, new_node) node = new_node elif name == "TryStatement": - node = self._parse_try_catch(statement, node) + node = self._parse_try_catch(statement, node, scope) # elif name == 'TryCatchClause': # self._parse_catch(statement, node) elif name == "RevertStatement": @@ -1018,7 +1065,7 @@ class FunctionSolc(CallerContextExpression): return node - def _parse_block(self, block: Dict, node: NodeSolc, check_arithmetic: bool = False) -> NodeSolc: + def _parse_block(self, block: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: """ Return: Node @@ -1030,13 +1077,12 @@ class FunctionSolc(CallerContextExpression): else: statements = block[self.get_children("children")] - check_arithmetic = check_arithmetic | node.underlying_node.scope.is_checked - new_scope = Scope(check_arithmetic, False, node.underlying_node.scope) + new_scope = Scope(scope.is_checked, False, scope) for statement in statements: node = self._parse_statement(statement, node, new_scope) return node - def _parse_unchecked_block(self, block: Dict, node: NodeSolc): + def _parse_unchecked_block(self, block: Dict, node: NodeSolc, scope): """ Return: Node @@ -1048,7 +1094,8 @@ class FunctionSolc(CallerContextExpression): else: statements = block[self.get_children("children")] - new_scope = Scope(False, False, node.underlying_node.scope) + new_scope = Scope(False, False, scope) + for statement in statements: node = self._parse_statement(statement, node, new_scope) return node @@ -1069,8 +1116,7 @@ class FunctionSolc(CallerContextExpression): self._function.is_empty = True else: self._function.is_empty = False - check_arithmetic = self.compilation_unit.solc_version >= "0.8.0" - self._parse_block(cfg, node, check_arithmetic=check_arithmetic) + self._parse_block(cfg, node, self.underlying_function) self._remove_incorrect_edges() self._remove_alone_endif() @@ -1150,17 +1196,18 @@ class FunctionSolc(CallerContextExpression): if end_node: for son in node.sons: if son.type == NodeType.CATCH: - self._fix_catch(son, end_node) + self._fix_catch(son, end_node, set()) - def _fix_catch(self, node: Node, end_node: Node) -> None: + def _fix_catch(self, node: Node, end_node: Node, visited: Set[Node]) -> None: if not node.sons: link_nodes(node, end_node) else: for son in node.sons: - if son != end_node: - self._fix_catch(son, end_node) + if son != end_node and son not in visited: + visited.add(son) + self._fix_catch(son, end_node, visited) - def _add_param(self, param: Dict) -> LocalVariableSolc: + def _add_param(self, param: Dict, initialized: bool = False) -> LocalVariableSolc: local_var = LocalVariable() local_var.set_function(self._function) @@ -1170,6 +1217,9 @@ class FunctionSolc(CallerContextExpression): local_var_parser.analyze(self) + if initialized: + local_var.initialized = True + # see https://solidity.readthedocs.io/en/v0.4.24/types.html?highlight=storage%20location#data-location if local_var.location == "default": local_var.set_location("memory") @@ -1177,6 +1227,17 @@ class FunctionSolc(CallerContextExpression): self._add_local_variable(local_var_parser) return local_var_parser + def _add_param_init_tuple(self, statement: Dict, index: int) -> LocalVariableInitFromTupleSolc: + + local_var = LocalVariableInitFromTuple() + local_var.set_function(self._function) + local_var.set_offset(statement["src"], self._function.compilation_unit) + + local_var_parser = LocalVariableInitFromTupleSolc(local_var, statement, index) + + self._add_local_variable(local_var_parser) + return local_var_parser + def _parse_params(self, params: Dict): assert params[self.get_key()] == "ParameterList" @@ -1395,8 +1456,7 @@ class FunctionSolc(CallerContextExpression): endif_node = self._new_node(NodeType.ENDIF, node.source_mapping, node.scope) for father in node.fathers: - father.remove_son(node) - father.add_son(condition_node.underlying_node) + father.replace_son(node, condition_node.underlying_node) condition_node.underlying_node.add_father(father) for son in node.sons: diff --git a/slither/solc_parsing/declarations/modifier.py b/slither/solc_parsing/declarations/modifier.py index ea7af00b3..c4c5c7177 100644 --- a/slither/solc_parsing/declarations/modifier.py +++ b/slither/solc_parsing/declarations/modifier.py @@ -87,6 +87,9 @@ class ModifierSolc(FunctionSolc): for node in self._node_to_nodesolc.values(): node.analyze_expressions(self) + for yul_parser in self._node_to_yulobject.values(): + yul_parser.analyze_expressions() + self._rewrite_ternary_as_if_else() self._remove_alone_endif() diff --git a/slither/solc_parsing/declarations/using_for_top_level.py b/slither/solc_parsing/declarations/using_for_top_level.py index 707ad83ac..fe72e5780 100644 --- a/slither/solc_parsing/declarations/using_for_top_level.py +++ b/slither/solc_parsing/declarations/using_for_top_level.py @@ -55,22 +55,29 @@ class UsingForTopLevelSolc(CallerContextExpression): # pylint: disable=too-few- self._propagate_global(type_name) else: for f in self._functions: - full_name_split = f["function"]["name"].split(".") - if len(full_name_split) == 1: + # User defined operator + if "operator" in f: # Top level function - function_name: str = full_name_split[0] - self._analyze_top_level_function(function_name, type_name) - elif len(full_name_split) == 2: - # It can be a top level function behind an aliased import - # or a library function - first_part = full_name_split[0] - function_name = full_name_split[1] - self._check_aliased_import(first_part, function_name, type_name) + function_name: str = f["definition"]["name"] + operator: str = f["operator"] + self._analyze_operator(operator, function_name, type_name) else: - # MyImport.MyLib.a we don't care of the alias - library_name_str = full_name_split[1] - function_name = full_name_split[2] - self._analyze_library_function(library_name_str, function_name, type_name) + full_name_split = f["function"]["name"].split(".") + if len(full_name_split) == 1: + # Top level function + function_name: str = full_name_split[0] + self._analyze_top_level_function(function_name, type_name) + elif len(full_name_split) == 2: + # It can be a top level function behind an aliased import + # or a library function + first_part = full_name_split[0] + function_name = full_name_split[1] + self._check_aliased_import(first_part, function_name, type_name) + else: + # MyImport.MyLib.a we don't care of the alias + library_name_str = full_name_split[1] + function_name = full_name_split[2] + self._analyze_library_function(library_name_str, function_name, type_name) def _check_aliased_import( self, @@ -101,6 +108,19 @@ class UsingForTopLevelSolc(CallerContextExpression): # pylint: disable=too-few- self._propagate_global(type_name) break + def _analyze_operator( + self, operator: str, function_name: str, type_name: TypeAliasTopLevel + ) -> None: + for tl_function in self._using_for.file_scope.functions: + # The library function is bound to the first parameter's type + if ( + tl_function.name == function_name + and tl_function.parameters + and type_name == tl_function.parameters[0].type + ): + type_name.operators[operator] = tl_function + break + def _analyze_library_function( self, library_name: str, diff --git a/slither/solc_parsing/expressions/expression_parsing.py b/slither/solc_parsing/expressions/expression_parsing.py index d0dc4c7e0..a0bce044c 100644 --- a/slither/solc_parsing/expressions/expression_parsing.py +++ b/slither/solc_parsing/expressions/expression_parsing.py @@ -1,6 +1,6 @@ import logging import re -from typing import Union, Dict, TYPE_CHECKING +from typing import Union, Dict, TYPE_CHECKING, List, Any import slither.core.expressions.type_conversion from slither.core.declarations.solidity_variables import ( @@ -236,6 +236,24 @@ if TYPE_CHECKING: pass +def _user_defined_op_call( + caller_context: CallerContextExpression, src, function_id: int, args: List[Any], type_call: str +) -> CallExpression: + var, was_created = find_variable(None, caller_context, function_id) + + if was_created: + var.set_offset(src, caller_context.compilation_unit) + + identifier = Identifier(var) + identifier.set_offset(src, caller_context.compilation_unit) + + var.references.append(identifier.source_mapping) + + call = CallExpression(identifier, args, type_call) + call.set_offset(src, caller_context.compilation_unit) + return call + + def parse_expression(expression: Dict, caller_context: CallerContextExpression) -> "Expression": # pylint: disable=too-many-nested-blocks,too-many-statements """ @@ -274,16 +292,24 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) if name == "UnaryOperation": if is_compact_ast: attributes = expression - else: - attributes = expression["attributes"] - assert "prefix" in attributes - operation_type = UnaryOperationType.get_type(attributes["operator"], attributes["prefix"]) - - if is_compact_ast: expression = parse_expression(expression["subExpression"], caller_context) else: + attributes = expression["attributes"] assert len(expression["children"]) == 1 expression = parse_expression(expression["children"][0], caller_context) + assert "prefix" in attributes + + # Use of user defined operation + if "function" in attributes: + return _user_defined_op_call( + caller_context, + src, + attributes["function"], + [expression], + attributes["typeDescriptions"]["typeString"], + ) + + operation_type = UnaryOperationType.get_type(attributes["operator"], attributes["prefix"]) unary_op = UnaryOperation(expression, operation_type) unary_op.set_offset(src, caller_context.compilation_unit) return unary_op @@ -291,17 +317,25 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) if name == "BinaryOperation": if is_compact_ast: attributes = expression - else: - attributes = expression["attributes"] - operation_type = BinaryOperationType.get_type(attributes["operator"]) - - if is_compact_ast: left_expression = parse_expression(expression["leftExpression"], caller_context) right_expression = parse_expression(expression["rightExpression"], caller_context) else: assert len(expression["children"]) == 2 + attributes = expression["attributes"] left_expression = parse_expression(expression["children"][0], caller_context) right_expression = parse_expression(expression["children"][1], caller_context) + + # Use of user defined operation + if "function" in attributes: + return _user_defined_op_call( + caller_context, + src, + attributes["function"], + [left_expression, right_expression], + attributes["typeDescriptions"]["typeString"], + ) + + operation_type = BinaryOperationType.get_type(attributes["operator"]) binary_op = BinaryOperation(left_expression, right_expression, operation_type) binary_op.set_offset(src, caller_context.compilation_unit) return binary_op @@ -433,6 +467,8 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) type_candidate = ElementaryType("uint256") else: type_candidate = ElementaryType("string") + elif type_candidate.startswith("rational_const "): + type_candidate = ElementaryType("uint256") elif type_candidate.startswith("int_const "): type_candidate = ElementaryType("uint256") elif type_candidate.startswith("bool"): @@ -559,37 +595,9 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) type_name = children[0] if type_name[caller_context.get_key()] == "ArrayTypeName": - depth = 0 - while type_name[caller_context.get_key()] == "ArrayTypeName": - # Note: dont conserve the size of the array if provided - # We compute it directly - if is_compact_ast: - type_name = type_name["baseType"] - else: - type_name = type_name["children"][0] - depth += 1 - if type_name[caller_context.get_key()] == "ElementaryTypeName": - if is_compact_ast: - array_type = ElementaryType(type_name["name"]) - else: - array_type = ElementaryType(type_name["attributes"]["name"]) - elif type_name[caller_context.get_key()] == "UserDefinedTypeName": - if is_compact_ast: - if "name" not in type_name: - name_type = type_name["pathNode"]["name"] - else: - name_type = type_name["name"] - - array_type = parse_type(UnknownType(name_type), caller_context) - else: - array_type = parse_type( - UnknownType(type_name["attributes"]["name"]), caller_context - ) - elif type_name[caller_context.get_key()] == "FunctionTypeName": - array_type = parse_type(type_name, caller_context) - else: - raise ParsingError(f"Incorrect type array {type_name}") - array = NewArray(depth, array_type) + array_type = parse_type(type_name, caller_context) + assert isinstance(array_type, ArrayType) + array = NewArray(array_type) array.set_offset(src, caller_context.compilation_unit) return array diff --git a/slither/solc_parsing/slither_compilation_unit_solc.py b/slither/solc_parsing/slither_compilation_unit_solc.py index b1c2387f0..00ac3a519 100644 --- a/slither/solc_parsing/slither_compilation_unit_solc.py +++ b/slither/solc_parsing/slither_compilation_unit_solc.py @@ -33,6 +33,10 @@ logger = logging.getLogger("SlitherSolcParsing") logger.setLevel(logging.INFO) +class InheritanceResolutionError(SlitherException): + pass + + def _handle_import_aliases( symbol_aliases: Dict, import_directive: Import, scope: FileScope ) -> None: @@ -194,6 +198,13 @@ class SlitherCompilationUnitSolc(CallerContextExpression): # pylint: disable=too-many-branches,too-many-statements,too-many-locals def parse_top_level_from_loaded_json(self, data_loaded: Dict, filename: str) -> None: + if not data_loaded or data_loaded is None: + logger.error( + "crytic-compile returned an empty AST. " + "If you are trying to analyze a contract from etherscan or similar make sure it has source code available." + ) + return + if "nodeType" in data_loaded: self._is_compact_ast = True @@ -402,10 +413,7 @@ class SlitherCompilationUnitSolc(CallerContextExpression): # First we save all the contracts in a dict # the key is the contractid for contract in self._underlying_contract_to_parser: - if ( - contract.name.startswith("SlitherInternalTopLevelContract") - and not contract.is_top_level - ): + if contract.name.startswith("SlitherInternalTopLevelContract"): raise SlitherException( # region multi-line-string """Your codebase has a contract named 'SlitherInternalTopLevelContract'. @@ -435,7 +443,12 @@ Please rename it, this name is reserved for Slither's internals""" target = contract_parser.underlying_contract.file_scope.get_contract_from_name( contract_name ) - assert target + if target == contract_parser.underlying_contract: + raise InheritanceResolutionError( + "Could not resolve contract inheritance. This is likely caused by an import renaming that collides with existing names (see https://github.com/crytic/slither/issues/1758)." + f"\n Try changing `contract {target}` ({target.source_mapping}) to a unique name." + ) + assert target, f"Contract {contract_name} not found" ancestors.append(target) elif i in self._contracts_by_id: ancestors.append(self._contracts_by_id[i]) @@ -745,12 +758,46 @@ Please rename it, this name is reserved for Slither's internals""" self._underlying_contract_to_parser[contract].log_incorrect_parsing( f"Impossible to generate IR for {contract.name}.{func.name} ({func.source_mapping}):\n {e}" ) - - contract.convert_expression_to_slithir_ssa() + except Exception as e: + func_expressions = "\n".join([f"\t{ex}" for ex in func.expressions]) + logger.error( + f"\nFailed to generate IR for {contract.name}.{func.name}. Please open an issue https://github.com/crytic/slither/issues.\n{contract.name}.{func.name} ({func.source_mapping}):\n " + f"{func_expressions}" + ) + raise e + try: + contract.convert_expression_to_slithir_ssa() + except Exception as e: + logger.error( + f"\nFailed to convert IR to SSA for {contract.name} contract. Please open an issue https://github.com/crytic/slither/issues.\n " + ) + raise e for func in self._compilation_unit.functions_top_level: - func.generate_slithir_and_analyze() - func.generate_slithir_ssa({}) + try: + func.generate_slithir_and_analyze() + except AttributeError as e: + logger.error( + f"Impossible to generate IR for top level function {func.name} ({func.source_mapping}):\n {e}" + ) + except Exception as e: + func_expressions = "\n".join([f"\t{ex}" for ex in func.expressions]) + logger.error( + f"\nFailed to generate IR for top level function {func.name}. Please open an issue https://github.com/crytic/slither/issues.\n{func.name} ({func.source_mapping}):\n " + f"{func_expressions}" + ) + raise e + + try: + func.generate_slithir_ssa({}) + except Exception as e: + func_expressions = "\n".join([f"\t{ex}" for ex in func.expressions]) + logger.error( + f"\nFailed to convert IR to SSA for top level function {func.name}. Please open an issue https://github.com/crytic/slither/issues.\n{func.name} ({func.source_mapping}):\n " + f"{func_expressions}" + ) + raise e + self._compilation_unit.propagate_function_calls() for contract in self._compilation_unit.contracts: contract.fix_phi() diff --git a/slither/solc_parsing/variables/local_variable_init_from_tuple.py b/slither/solc_parsing/variables/local_variable_init_from_tuple.py index 12da80e60..6a2d6695a 100644 --- a/slither/solc_parsing/variables/local_variable_init_from_tuple.py +++ b/slither/solc_parsing/variables/local_variable_init_from_tuple.py @@ -16,3 +16,21 @@ class LocalVariableInitFromTupleSolc(VariableDeclarationSolc[LocalVariableInitFr # Todo: Not sure how to overcome this with mypy assert isinstance(self._variable, LocalVariableInitFromTuple) return self._variable + + def _analyze_variable_attributes(self, attributes: Dict) -> None: + """' + Variable Location + Can be storage/memory or default + """ + if "storageLocation" in attributes: + location = attributes["storageLocation"] + self.underlying_variable.set_location(location) + else: + if "memory" in attributes["type"]: + self.underlying_variable.set_location("memory") + elif "storage" in attributes["type"]: + self.underlying_variable.set_location("storage") + else: + self.underlying_variable.set_location("default") + + super()._analyze_variable_attributes(attributes) diff --git a/slither/solc_parsing/yul/evm_functions.py b/slither/solc_parsing/yul/evm_functions.py index dfb52a244..28ea70e93 100644 --- a/slither/solc_parsing/yul/evm_functions.py +++ b/slither/solc_parsing/yul/evm_functions.py @@ -51,6 +51,7 @@ evm_opcodes = [ "TIMESTAMP", "NUMBER", "DIFFICULTY", + "PREVRANDAO", "GASLIMIT", "CHAINID", "SELFBALANCE", @@ -168,6 +169,7 @@ builtins = [ ) ] + yul_funcs +# "identifier": [input_count, output_count] function_args = { "byte": [2, 1], "addmod": [3, 1], @@ -221,6 +223,7 @@ function_args = { "timestamp": [0, 1], "number": [0, 1], "difficulty": [0, 1], + "prevrandao": [0, 1], "gaslimit": [0, 1], } diff --git a/slither/solc_parsing/yul/parse_yul.py b/slither/solc_parsing/yul/parse_yul.py index 35d5cdd9d..8657947ea 100644 --- a/slither/solc_parsing/yul/parse_yul.py +++ b/slither/solc_parsing/yul/parse_yul.py @@ -181,7 +181,7 @@ class YulScope(metaclass=abc.ABCMeta): def add_yul_local_function(self, func: "YulFunction") -> None: self._yul_local_functions.append(func) - def get_yul_local_function_from_name(self, func_name: str) -> Optional["YulLocalVariable"]: + def get_yul_local_function_from_name(self, func_name: str) -> Optional["YulFunction"]: return next( (v for v in self._yul_local_functions if v.underlying.name == func_name), None, @@ -252,6 +252,10 @@ class YulFunction(YulScope): def function(self) -> Function: return self._function + @property + def root(self) -> YulScope: + return self._root + def convert_body(self) -> None: node = self.new_node(NodeType.ENTRYPOINT, self._ast["src"]) link_underlying_nodes(self._entrypoint, node) @@ -271,6 +275,9 @@ class YulFunction(YulScope): def parse_body(self) -> None: for node in self._nodes: node.analyze_expressions() + for f in self._yul_local_functions: + if f != self: + f.parse_body() def new_node(self, node_type: NodeType, src: str) -> YulNode: if self._function: @@ -325,7 +332,10 @@ class YulBlock(YulScope): return yul_node def convert(self, ast: Dict) -> YulNode: - return convert_yul(self, self._entrypoint, ast, self.node_scope) + yul_node = convert_yul(self, self._entrypoint, ast, self.node_scope) + for f in self._yul_local_functions: + f.parse_body() + return yul_node def analyze_expressions(self) -> None: for node in self._nodes: @@ -390,7 +400,6 @@ def convert_yul_function_definition( root.add_yul_local_function(yul_function) yul_function.convert_body() - yul_function.parse_body() return parent @@ -778,6 +787,7 @@ def _parse_yul_magic_suffixes(name: str, root: YulScope) -> Optional[Expression] return None +# pylint: disable=too-many-branches def parse_yul_identifier(root: YulScope, _node: YulNode, ast: Dict) -> Optional[Expression]: name = ast["name"] @@ -809,6 +819,23 @@ def parse_yul_identifier(root: YulScope, _node: YulNode, ast: Dict) -> Optional[ if func: return Identifier(func.underlying) + # check yul-block scoped function + if isinstance(root, YulFunction): + yul_block = root.root + + # Iterate until we searched in all the scopes until the YulBlock scope + while not isinstance(yul_block, YulBlock): + func = yul_block.get_yul_local_function_from_name(name) + if func: + return Identifier(func.underlying) + + if isinstance(yul_block, YulFunction): + yul_block = yul_block.root + + func = yul_block.get_yul_local_function_from_name(name) + if func: + return Identifier(func.underlying) + magic_suffix = _parse_yul_magic_suffixes(name, root) if magic_suffix: return magic_suffix diff --git a/slither/tools/flattening/export/export.py b/slither/tools/flattening/export/export.py index e9b4552ef..8b8ce7355 100644 --- a/slither/tools/flattening/export/export.py +++ b/slither/tools/flattening/export/export.py @@ -15,7 +15,7 @@ ZIP_TYPES_ACCEPTED = { Export = namedtuple("Export", ["filename", "content"]) -logger = logging.getLogger("Slither") +logger = logging.getLogger("Slither-flat") def save_to_zip(files: List[Export], zip_filename: str, zip_type: str = "lzma"): diff --git a/slither/tools/flattening/flattening.py b/slither/tools/flattening/flattening.py index 67b3c00a3..55e1af21d 100644 --- a/slither/tools/flattening/flattening.py +++ b/slither/tools/flattening/flattening.py @@ -11,6 +11,7 @@ from slither.core.declarations import SolidityFunction, EnumContract, StructureC from slither.core.declarations.contract import Contract from slither.core.declarations.function_top_level import FunctionTopLevel from slither.core.declarations.top_level import TopLevel +from slither.core.declarations.solidity_variables import SolidityCustomRevert from slither.core.solidity_types import MappingType, ArrayType from slither.core.solidity_types.type import Type from slither.core.solidity_types.user_defined_type import UserDefinedType @@ -23,7 +24,8 @@ from slither.tools.flattening.export.export import ( save_to_disk, ) -logger = logging.getLogger("Slither-flattening") +logger = logging.getLogger("Slither-flat") +logger.setLevel(logging.INFO) # index: where to start # patch_type: @@ -75,6 +77,7 @@ class Flattening: self._get_source_code_top_level(compilation_unit.structures_top_level) self._get_source_code_top_level(compilation_unit.enums_top_level) + self._get_source_code_top_level(compilation_unit.custom_errors) self._get_source_code_top_level(compilation_unit.variables_top_level) self._get_source_code_top_level(compilation_unit.functions_top_level) @@ -249,12 +252,14 @@ class Flattening: t: Type, contract: Contract, exported: Set[str], - list_contract: List[Contract], - list_top_level: List[TopLevel], + list_contract: Set[Contract], + list_top_level: Set[TopLevel], ): if isinstance(t, UserDefinedType): t_type = t.type - if isinstance(t_type, (EnumContract, StructureContract)): + if isinstance(t_type, TopLevel): + list_top_level.add(t_type) + elif isinstance(t_type, (EnumContract, StructureContract)): if t_type.contract != contract and t_type.contract not in exported: self._export_list_used_contracts( t_type.contract, exported, list_contract, list_top_level @@ -275,8 +280,8 @@ class Flattening: self, contract: Contract, exported: Set[str], - list_contract: List[Contract], - list_top_level: List[TopLevel], + list_contract: Set[Contract], + list_top_level: Set[TopLevel], ): # TODO: investigate why this happen if not isinstance(contract, Contract): @@ -332,19 +337,21 @@ class Flattening: for read in ir.read: if isinstance(read, TopLevel): - if read not in list_top_level: - list_top_level.append(read) - if isinstance(ir, InternalCall): - function_called = ir.function - if isinstance(function_called, FunctionTopLevel): - list_top_level.append(function_called) - - if contract not in list_contract: - list_contract.append(contract) + list_top_level.add(read) + if isinstance(ir, InternalCall) and isinstance(ir.function, FunctionTopLevel): + list_top_level.add(ir.function) + if ( + isinstance(ir, SolidityCall) + and isinstance(ir.function, SolidityCustomRevert) + and isinstance(ir.function.custom_error, TopLevel) + ): + list_top_level.add(ir.function.custom_error) + + list_contract.add(contract) def _export_contract_with_inheritance(self, contract) -> Export: - list_contracts: List[Contract] = [] # will contain contract itself - list_top_level: List[TopLevel] = [] + list_contracts: Set[Contract] = set() # will contain contract itself + list_top_level: Set[TopLevel] = set() self._export_list_used_contracts(contract, set(), list_contracts, list_top_level) path = Path(self._export_path, f"{contract.name}_{uuid.uuid4()}.sol") @@ -401,8 +408,8 @@ class Flattening: def _export_with_import(self) -> List[Export]: exports: List[Export] = [] for contract in self._compilation_unit.contracts: - list_contracts: List[Contract] = [] # will contain contract itself - list_top_level: List[TopLevel] = [] + list_contracts: Set[Contract] = set() # will contain contract itself + list_top_level: Set[TopLevel] = set() self._export_list_used_contracts(contract, set(), list_contracts, list_top_level) if list_top_level: diff --git a/slither/tools/interface/README.md b/slither/tools/interface/README.md new file mode 100644 index 000000000..a77e780b0 --- /dev/null +++ b/slither/tools/interface/README.md @@ -0,0 +1,21 @@ +# Slither-interface + +Generates code for a Solidity interface from contract + +## Usage + +Run `slither-interface `. + +## CLI Interface +```shell +positional arguments: + contract_source The name of the contract (case sensitive) followed by the deployed contract address if verified on etherscan or project directory/filename for local contracts. + +optional arguments: + -h, --help show this help message and exit + --unroll-structs Whether to use structures' underlying types instead of the user-defined type + --exclude-events Excludes event signatures in the interface + --exclude-errors Excludes custom error signatures in the interface + --exclude-enums Excludes enum definitions in the interface + --exclude-structs Exclude struct definitions in the interface +``` \ No newline at end of file diff --git a/slither/tools/interface/__init__.py b/slither/tools/interface/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/slither/tools/interface/__main__.py b/slither/tools/interface/__main__.py new file mode 100644 index 000000000..0705f0373 --- /dev/null +++ b/slither/tools/interface/__main__.py @@ -0,0 +1,106 @@ +import argparse +import logging +from pathlib import Path + +from crytic_compile import cryticparser + +from slither import Slither +from slither.utils.code_generation import generate_interface + +logging.basicConfig() +logger = logging.getLogger("Slither-Interface") +logger.setLevel(logging.INFO) + + +def parse_args() -> argparse.Namespace: + """ + Parse the underlying arguments for the program. + :return: Returns the arguments for the program. + """ + parser = argparse.ArgumentParser( + description="Generates code for a Solidity interface from contract", + usage=("slither-interface "), + ) + + parser.add_argument( + "contract_source", + help="The name of the contract (case sensitive) followed by the deployed contract address if verified on etherscan or project directory/filename for local contracts.", + nargs="+", + ) + + parser.add_argument( + "--unroll-structs", + help="Whether to use structures' underlying types instead of the user-defined type", + default=False, + action="store_true", + ) + + parser.add_argument( + "--exclude-events", + help="Excludes event signatures in the interface", + default=False, + action="store_true", + ) + + parser.add_argument( + "--exclude-errors", + help="Excludes custom error signatures in the interface", + default=False, + action="store_true", + ) + + parser.add_argument( + "--exclude-enums", + help="Excludes enum definitions in the interface", + default=False, + action="store_true", + ) + + parser.add_argument( + "--exclude-structs", + help="Exclude struct definitions in the interface", + default=False, + action="store_true", + ) + + cryticparser.init(parser) + + return parser.parse_args() + + +def main() -> None: + args = parse_args() + + contract_name, target = args.contract_source + slither = Slither(target, **vars(args)) + + _contract = slither.get_contract_from_name(contract_name)[0] + + interface = generate_interface( + contract=_contract, + unroll_structs=args.unroll_structs, + include_events=not args.exclude_events, + include_errors=not args.exclude_errors, + include_enums=not args.exclude_enums, + include_structs=not args.exclude_structs, + ) + + # add version pragma + if _contract.compilation_unit.pragma_directives: + interface = ( + f"pragma solidity {_contract.compilation_unit.pragma_directives[0].version};\n\n" + + interface + ) + + # write interface to file + export = Path("crytic-export", "interfaces") + export.mkdir(parents=True, exist_ok=True) + filename = f"I{contract_name}.sol" + path = Path(export, filename) + logger.info(f" Interface exported to {path}") + with open(path, "w", encoding="utf8") as f: + f.write(interface) + + +if __name__ == "__main__": + main() diff --git a/slither/tools/read_storage/README.md b/slither/tools/read_storage/README.md index 677b2c772..dd7ef2865 100644 --- a/slither/tools/read_storage/README.md +++ b/slither/tools/read_storage/README.md @@ -8,20 +8,29 @@ Slither-read-storage is a tool to retrieve the storage slots and values of entir ```shell positional arguments: - contract_source (DIR) ADDRESS The deployed contract address if verified on etherscan. Prepend project directory for unverified contracts. + contract_source The deployed contract address if verified on etherscan. Prepend project directory for unverified contracts. optional arguments: - --variable-name VARIABLE_NAME The name of the variable whose value will be returned. - --rpc-url RPC_URL An endpoint for web3 requests. - --key KEY The key/ index whose value will be returned from a mapping or array. - --deep-key DEEP_KEY The key/ index whose value will be returned from a deep mapping or multidimensional array. - --struct-var STRUCT_VAR The name of the variable whose value will be returned from a struct. - --storage-address STORAGE_ADDRESS The address of the storage contract (if a proxy pattern is used). - --contract-name CONTRACT_NAME The name of the logic contract. - --json FILE Write the entire storage layout in JSON format to the specified FILE - --value Toggle used to include values in output. - --max-depth MAX_DEPTH Max depth to search in data structure. - --block BLOCK_NUMBER Block number to retrieve storage from (requires archive rpc node) + -h, --help show this help message and exit + --variable-name VARIABLE_NAME + The name of the variable whose value will be returned. + --rpc-url RPC_URL An endpoint for web3 requests. + --key KEY The key/ index whose value will be returned from a mapping or array. + --deep-key DEEP_KEY The key/ index whose value will be returned from a deep mapping or multidimensional array. + --struct-var STRUCT_VAR + The name of the variable whose value will be returned from a struct. + --storage-address STORAGE_ADDRESS + The address of the storage contract (if a proxy pattern is used). + --contract-name CONTRACT_NAME + The name of the logic contract. + --json JSON Save the result in a JSON file. + --value Toggle used to include values in output. + --table Print table view of storage layout + --silent Silence log outputs + --max-depth MAX_DEPTH + Max depth to search in data structure. + --block BLOCK The block number to read storage from. Requires an archive node to be provided as the RPC url. + --unstructured Include unstructured storage slots ``` ### Examples diff --git a/slither/tools/read_storage/__init__.py b/slither/tools/read_storage/__init__.py index dbc1e5bc0..df9b8280d 100644 --- a/slither/tools/read_storage/__init__.py +++ b/slither/tools/read_storage/__init__.py @@ -1 +1 @@ -from .read_storage import SlitherReadStorage +from .read_storage import SlitherReadStorage, RpcInfo diff --git a/slither/tools/read_storage/__main__.py b/slither/tools/read_storage/__main__.py index 1a8901321..8415ae185 100644 --- a/slither/tools/read_storage/__main__.py +++ b/slither/tools/read_storage/__main__.py @@ -7,7 +7,7 @@ import argparse from crytic_compile import cryticparser from slither import Slither -from slither.tools.read_storage.read_storage import SlitherReadStorage +from slither.tools.read_storage.read_storage import SlitherReadStorage, RpcInfo def parse_args() -> argparse.Namespace: @@ -104,6 +104,12 @@ def parse_args() -> argparse.Namespace: default="latest", ) + parser.add_argument( + "--unstructured", + action="store_true", + help="Include unstructured storage slots", + ) + cryticparser.init(parser) return parser.parse_args() @@ -126,22 +132,20 @@ def main() -> None: else: contracts = slither.contracts - srs = SlitherReadStorage(contracts, args.max_depth) - - try: - srs.block = int(args.block) - except ValueError: - srs.block = str(args.block or "latest") - + rpc_info = None if args.rpc_url: - # Remove target prefix e.g. rinkeby:0x0 -> 0x0. - address = target[target.find(":") + 1 :] - # Default to implementation address unless a storage address is given. - if not args.storage_address: - args.storage_address = address - srs.storage_address = args.storage_address - - srs.rpc = args.rpc_url + valid = ["latest", "earliest", "pending", "safe", "finalized"] + block = args.block if args.block in valid else int(args.block) + rpc_info = RpcInfo(args.rpc_url, block) + + srs = SlitherReadStorage(contracts, args.max_depth, rpc_info) + srs.unstructured = bool(args.unstructured) + # Remove target prefix e.g. rinkeby:0x0 -> 0x0. + address = target[target.find(":") + 1 :] + # Default to implementation address unless a storage address is given. + if not args.storage_address: + args.storage_address = address + srs.storage_address = args.storage_address if args.variable_name: # Use a lambda func to only return variables that have same name as target. diff --git a/slither/tools/read_storage/read_storage.py b/slither/tools/read_storage/read_storage.py index 387aa619a..8c0cf515d 100644 --- a/slither/tools/read_storage/read_storage.py +++ b/slither/tools/read_storage/read_storage.py @@ -6,15 +6,30 @@ import dataclasses from eth_abi import decode, encode from eth_typing.evm import ChecksumAddress -from eth_utils import keccak +from eth_utils import keccak, to_checksum_address from web3 import Web3 +from web3.types import BlockIdentifier +from web3.exceptions import ExtraDataLengthError +from web3.middleware import geth_poa_middleware from slither.core.declarations import Contract, Structure from slither.core.solidity_types import ArrayType, ElementaryType, MappingType, UserDefinedType from slither.core.solidity_types.type import Type +from slither.core.cfg.node import NodeType from slither.core.variables.state_variable import StateVariable from slither.core.variables.structure_variable import StructureVariable +from slither.core.expressions import ( + AssignmentOperation, + Literal, + Identifier, + BinaryOperation, + UnaryOperation, + TupleExpression, + TypeConversion, + CallExpression, +) from slither.utils.myprettytable import MyPrettyTable +from slither.visitors.expression.constants_folding import ConstantFolding, NotConstant from .utils import coerce_type, get_offset_value, get_storage_data @@ -42,20 +57,47 @@ class SlitherReadStorageException(Exception): pass -# pylint: disable=too-many-instance-attributes +class RpcInfo: + def __init__(self, rpc_url: str, block: BlockIdentifier = "latest") -> None: + assert isinstance(block, int) or block in [ + "latest", + "earliest", + "pending", + "safe", + "finalized", + ] + self.rpc: str = rpc_url + self._web3: Web3 = Web3(Web3.HTTPProvider(self.rpc)) + """If the RPC is for a POA network, the first call to get_block fails, so we inject geth_poa_middleware""" + try: + self._block: int = self.web3.eth.get_block(block)["number"] + except ExtraDataLengthError: + self._web3.middleware_onion.inject(geth_poa_middleware, layer=0) + self._block: int = self.web3.eth.get_block(block)["number"] + + @property + def web3(self) -> Web3: + return self._web3 + + @property + def block(self) -> int: + return self._block + + +# pylint: disable=too-many-instance-attributes,too-many-public-methods class SlitherReadStorage: - def __init__(self, contracts: List[Contract], max_depth: int) -> None: + def __init__(self, contracts: List[Contract], max_depth: int, rpc_info: RpcInfo = None) -> None: self._checksum_address: Optional[ChecksumAddress] = None self._contracts: List[Contract] = contracts self._log: str = "" self._max_depth: int = max_depth self._slot_info: Dict[str, SlotInfo] = {} self._target_variables: List[Tuple[Contract, StateVariable]] = [] - self._web3: Optional[Web3] = None - self.block: Union[str, int] = "latest" - self.rpc: Optional[str] = None + self._constant_storage_slots: List[Tuple[Contract, StateVariable]] = [] + self.rpc_info: Optional[RpcInfo] = rpc_info self.storage_address: Optional[str] = None self.table: Optional[MyPrettyTable] = None + self.unstructured: bool = False @property def contracts(self) -> List[Contract]: @@ -73,18 +115,12 @@ class SlitherReadStorage: def log(self, log: str) -> None: self._log = log - @property - def web3(self) -> Web3: - if not self._web3: - self._web3 = Web3(Web3.HTTPProvider(self.rpc)) - return self._web3 - @property def checksum_address(self) -> ChecksumAddress: if not self.storage_address: raise ValueError if not self._checksum_address: - self._checksum_address = self.web3.to_checksum_address(self.storage_address) + self._checksum_address = to_checksum_address(self.storage_address) return self._checksum_address @property @@ -92,6 +128,11 @@ class SlitherReadStorage: """Storage variables (not constant or immutable) and their associated contract.""" return self._target_variables + @property + def constant_slots(self) -> List[Tuple[Contract, StateVariable]]: + """Constant bytes32 variables and their associated contract.""" + return self._constant_storage_slots + @property def slot_info(self) -> Dict[str, SlotInfo]: """Contains the location, type, size, offset, and value of contract slots.""" @@ -111,9 +152,48 @@ class SlitherReadStorage: elif isinstance(type_, ArrayType): elems = self._all_array_slots(var, contract, type_, info.slot) tmp[var.name].elems = elems - + if self.unstructured: + tmp.update(self.get_unstructured_layout()) self._slot_info = tmp + def get_unstructured_layout(self) -> Dict[str, SlotInfo]: + tmp: Dict[str, SlotInfo] = {} + for _, var in self.constant_slots: + var_name = var.name + try: + exp = var.expression + if isinstance( + exp, + ( + BinaryOperation, + UnaryOperation, + Identifier, + TupleExpression, + TypeConversion, + CallExpression, + ), + ): + exp = ConstantFolding(exp, "bytes32").result() + if isinstance(exp, Literal): + slot = coerce_type("int", exp.value) + else: + continue + offset = 0 + type_string, size = self.find_constant_slot_storage_type(var) + if type_string: + tmp[var.name] = SlotInfo( + name=var_name, type_string=type_string, slot=slot, size=size, offset=offset + ) + self.log += ( + f"\nSlot Name: {var_name}\nType: bytes32" + f"\nStorage Type: {type_string}\nSlot: {str(exp)}\n" + ) + logger.info(self.log) + self.log = "" + except NotConstant: + continue + return tmp + # TODO: remove this pylint exception (montyly) # pylint: disable=too-many-locals def get_storage_slot( @@ -122,7 +202,8 @@ class SlitherReadStorage: contract: Contract, **kwargs: Any, ) -> Union[SlotInfo, None]: - """Finds the storage slot of a variable in a given contract. + """ + Finds the storage slot of a variable in a given contract. Args: target_variable (`StateVariable`): The variable to retrieve the slot for. contracts (`Contract`): The contract that contains the given state variable. @@ -208,6 +289,78 @@ class SlitherReadStorage: if slot_info: self._slot_info[f"{contract.name}.{var.name}"] = slot_info + def find_constant_slot_storage_type( + self, var: StateVariable + ) -> Tuple[Optional[str], Optional[int]]: + """ + Given a constant bytes32 StateVariable, tries to determine which variable type is stored there, using the + heuristic that if a function reads from the slot and returns a value, it probably stores that type of value. + Also uses the StorageSlot library as a heuristic when a function has no return but uses the library's getters. + Args: + var (StateVariable): The constant bytes32 storage slot. + + Returns: + type (str): The type of value stored in the slot. + size (int): The type's size in bits. + """ + assert var.is_constant and var.type == ElementaryType("bytes32") + storage_type = None + size = None + funcs = [] + for c in self.contracts: + c_funcs = c.get_functions_reading_from_variable(var) + c_funcs.extend( + f + for f in c.functions + if any(str(v.expression) == str(var.expression) for v in f.variables) + ) + c_funcs = list(set(c_funcs)) + funcs.extend(c_funcs) + fallback = [f for f in var.contract.functions if f.is_fallback] + funcs += fallback + for func in funcs: + rets = func.return_type if func.return_type is not None else [] + for ret in rets: + size, _ = ret.storage_size + if size <= 32: + return str(ret), size * 8 + for node in func.all_nodes(): + exp = node.expression + # Look for use of the common OpenZeppelin StorageSlot library + if f"getAddressSlot({var.name})" in str(exp): + return "address", 160 + if f"getBooleanSlot({var.name})" in str(exp): + return "bool", 1 + if f"getBytes32Slot({var.name})" in str(exp): + return "bytes32", 256 + if f"getUint256Slot({var.name})" in str(exp): + return "uint256", 256 + # Look for variable assignment in assembly loaded from a hardcoded slot + if ( + isinstance(exp, AssignmentOperation) + and isinstance(exp.expression_left, Identifier) + and isinstance(exp.expression_right, CallExpression) + and "sload" in str(exp.expression_right.called) + and str(exp.expression_right.arguments[0]) == str(var.expression) + ): + if func.is_fallback: + return "address", 160 + storage_type = exp.expression_left.value.type.name + size, _ = exp.expression_left.value.type.storage_size + return storage_type, size * 8 + # Look for variable storage in assembly stored to a hardcoded slot + if ( + isinstance(exp, CallExpression) + and "sstore" in str(exp.called) + and isinstance(exp.arguments[0], Identifier) + and isinstance(exp.arguments[1], Identifier) + and str(exp.arguments[0].value.expression) == str(var.expression) + ): + storage_type = exp.arguments[1].value.type.name + size, _ = exp.arguments[1].value.type.storage_size + return storage_type, size * 8 + return storage_type, size + def walk_slot_info(self, func: Callable) -> None: stack = list(self.slot_info.values()) while stack: @@ -220,39 +373,178 @@ class SlitherReadStorage: func(slot_info) def get_slot_values(self, slot_info: SlotInfo) -> None: - """Fetches the slot value of `SlotInfo` object + """ + Fetches the slot value of `SlotInfo` object :param slot_info: """ + assert self.rpc_info is not None hex_bytes = get_storage_data( - self.web3, + self.rpc_info.web3, self.checksum_address, int.to_bytes(slot_info.slot, 32, byteorder="big"), - self.block, + self.rpc_info.block, ) slot_info.value = self.convert_value_to_type( hex_bytes, slot_info.size, slot_info.offset, slot_info.type_string ) logger.info(f"\nValue: {slot_info.value}\n") - def get_all_storage_variables(self, func: Callable = None) -> None: - """Fetches all storage variables from a list of contracts. + def get_all_storage_variables(self, func: Callable = lambda x: x) -> None: + """ + Fetches all storage variables from a list of contracts. kwargs: func (Callable, optional): A criteria to filter functions e.g. name. """ for contract in self.contracts: - self._target_variables.extend( - filter( - func, - [ - (contract, var) - for var in contract.state_variables_ordered - if not var.is_constant and not var.is_immutable - ], - ) + for var in contract.state_variables_ordered: + if func(var): + if not var.is_constant and not var.is_immutable: + self._target_variables.append((contract, var)) + elif ( + self.unstructured + and var.is_constant + and var.type == ElementaryType("bytes32") + ): + self._constant_storage_slots.append((contract, var)) + if self.unstructured: + hardcoded_slot = self.find_hardcoded_slot_in_fallback(contract) + if hardcoded_slot is not None: + self._constant_storage_slots.append((contract, hardcoded_slot)) + + def find_hardcoded_slot_in_fallback(self, contract: Contract) -> Optional[StateVariable]: + """ + Searches the contract's fallback function for a sload from a literal storage slot, i.e., + `let contractLogic := sload(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7)`. + + Args: + contract: a Contract object, which should have a fallback function. + + Returns: + A newly created StateVariable representing the Literal bytes32 slot, if one is found, otherwise None. + """ + fallback = None + for func in contract.functions_entry_points: + if func.is_fallback: + fallback = func + break + if fallback is None: + return None + queue = [fallback.entry_point] + visited = [] + while len(queue) > 0: + node = queue.pop(0) + visited.append(node) + queue.extend(son for son in node.sons if son not in visited) + if node.type == NodeType.ASSEMBLY and isinstance(node.inline_asm, str): + return SlitherReadStorage.find_hardcoded_slot_in_asm_str(node.inline_asm, contract) + if node.type == NodeType.EXPRESSION: + sv = self.find_hardcoded_slot_in_exp(node.expression, contract) + if sv is not None: + return sv + return None + + @staticmethod + def find_hardcoded_slot_in_asm_str( + inline_asm: str, contract: Contract + ) -> Optional[StateVariable]: + """ + Searches a block of assembly code (given as a string) for a sload from a literal storage slot. + Does not work if the argument passed to sload does not start with "0x", i.e., `sload(add(1,1))` + or `and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)`. + + Args: + inline_asm: a string containing all the code in an assembly node (node.inline_asm for solc < 0.6.0). + + Returns: + A newly created StateVariable representing the Literal bytes32 slot, if one is found, otherwise None. + """ + asm_split = inline_asm.split("\n") + for asm in asm_split: + if "sload(" in asm: # Only handle literals + arg = asm.split("sload(")[1].split(")")[0] + if arg.startswith("0x"): + exp = Literal(arg, ElementaryType("bytes32")) + sv = StateVariable() + sv.name = "fallback_sload_hardcoded" + sv.expression = exp + sv.is_constant = True + sv.type = exp.type + sv.set_contract(contract) + return sv + return None + + def find_hardcoded_slot_in_exp( + self, exp: "Expression", contract: Contract + ) -> Optional[StateVariable]: + """ + Parses an expression to see if it contains a sload from a literal storage slot, + unrolling nested expressions if necessary to determine which slot it loads from. + Args: + exp: an Expression object to search. + contract: the Contract containing exp. + + Returns: + A newly created StateVariable representing the Literal bytes32 slot, if one is found, otherwise None. + """ + if isinstance(exp, AssignmentOperation): + exp = exp.expression_right + while isinstance(exp, BinaryOperation): + exp = next( + (e for e in exp.expressions if isinstance(e, (CallExpression, BinaryOperation))), + exp.expression_left, ) + while isinstance(exp, CallExpression) and len(exp.arguments) > 0: + called = exp.called + exp = exp.arguments[0] + if "sload" in str(called): + break + if isinstance( + exp, + ( + BinaryOperation, + UnaryOperation, + Identifier, + TupleExpression, + TypeConversion, + CallExpression, + ), + ): + try: + exp = ConstantFolding(exp, "bytes32").result() + except NotConstant: + return None + if ( + isinstance(exp, Literal) + and isinstance(exp.type, ElementaryType) + and exp.type.name in ["bytes32", "uint256"] + ): + sv = StateVariable() + sv.name = "fallback_sload_hardcoded" + value = exp.value + str_value = str(value) + if str_value.isdecimal(): + value = int(value) + if isinstance(value, (int, bytes)): + if isinstance(value, bytes): + str_value = "0x" + value.hex() + value = int(str_value, 16) + exp = Literal(str_value, ElementaryType("bytes32")) + state_var_slots = [ + self.get_variable_info(contract, var)[0] + for contract, var in self.target_variables + ] + if value in state_var_slots: + return None + sv.expression = exp + sv.is_constant = True + sv.type = ElementaryType("bytes32") + sv.set_contract(contract) + return sv + return None def convert_slot_info_to_rows(self, slot_info: SlotInfo) -> None: - """Convert and append slot info to table. Create table if it + """ + Convert and append slot info to table. Create table if it does not yet exist :param slot_info: """ @@ -270,7 +562,8 @@ class SlitherReadStorage: def _find_struct_var_slot( elems: List[StructureVariable], slot_as_bytes: bytes, struct_var: str ) -> Tuple[str, str, bytes, int, int]: - """Finds the slot of a structure variable. + """ + Finds the slot of a structure variable. Args: elems (List[StructureVariable]): Ordered list of structure variables. slot_as_bytes (bytes): The slot of the struct to begin searching at. @@ -312,7 +605,8 @@ class SlitherReadStorage: deep_key: int = None, struct_var: str = None, ) -> Tuple[str, str, bytes, int, int]: - """Finds the slot of array's index. + """ + Finds the slot of array's index. Args: target_variable (`StateVariable`): The array that contains the target variable. slot (bytes): The starting slot of the array. @@ -415,7 +709,8 @@ class SlitherReadStorage: deep_key: Union[int, str] = None, struct_var: str = None, ) -> Tuple[str, str, bytes, int, int]: - """Finds the data slot of a target variable within a mapping. + """ + Finds the data slot of a target variable within a mapping. target_variable (`StateVariable`): The mapping that contains the target variable. slot (bytes): The starting slot of the mapping. key (Union[int, str]): The key the variable is stored at. @@ -441,7 +736,7 @@ class SlitherReadStorage: if "int" in key_type: # without this eth_utils encoding fails key = int(key) key = coerce_type(key_type, key) - slot = keccak(encode([key_type, "uint256"], [key, decode("uint256", slot)])) + slot = keccak(encode([key_type, "uint256"], [key, decode(["uint256"], slot)[0]])) if isinstance(target_variable_type.type_to, UserDefinedType) and isinstance( target_variable_type.type_to.type, Structure @@ -486,7 +781,7 @@ class SlitherReadStorage: ) info += info_tmp - # TODO: suppory mapping with dynamic arrays + # TODO: support mapping with dynamic arrays # mapping(elem => elem) elif isinstance(target_variable_type.type_to, ElementaryType): @@ -592,7 +887,8 @@ class SlitherReadStorage: return elems def _get_array_length(self, type_: Type, slot: int) -> int: - """Gets the length of dynamic and fixed arrays. + """ + Gets the length of dynamic and fixed arrays. Args: type_ (`AbstractType`): The array type. slot (int): Slot a dynamic array's length is stored at. @@ -600,15 +896,15 @@ class SlitherReadStorage: (int): The length of the array. """ val = 0 - if self.rpc: + if self.rpc_info: # The length of dynamic arrays is stored at the starting slot. # Convert from hexadecimal to decimal. val = int( get_storage_data( - self.web3, + self.rpc_info.web3, self.checksum_address, int.to_bytes(slot, 32, byteorder="big"), - self.block, + self.rpc_info.block, ).hex(), 16, ) diff --git a/slither/tools/read_storage/utils/utils.py b/slither/tools/read_storage/utils/utils.py index 4a04a5b6d..20e7c1372 100644 --- a/slither/tools/read_storage/utils/utils.py +++ b/slither/tools/read_storage/utils/utils.py @@ -37,6 +37,8 @@ def coerce_type( (Union[int, bool, str, ChecksumAddress, hex]): The type representation of the value. """ if "int" in solidity_type: + if str(value).startswith("0x"): + return to_int(hexstr=value) return to_int(value) if "bool" in solidity_type: return bool(to_int(value)) diff --git a/slither/utils/code_generation.py b/slither/utils/code_generation.py index 951bf4702..bb8344d8f 100644 --- a/slither/utils/code_generation.py +++ b/slither/utils/code_generation.py @@ -1,62 +1,149 @@ # Functions for generating Solidity code from typing import TYPE_CHECKING, Optional -from slither.utils.type import convert_type_for_solidity_signature_to_string +from slither.utils.type import ( + convert_type_for_solidity_signature_to_string, + export_nested_types_from_variable, + export_return_type_from_variable, +) +from slither.core.solidity_types import ( + Type, + UserDefinedType, + MappingType, + ArrayType, + ElementaryType, +) +from slither.core.declarations import Structure, Enum, Contract if TYPE_CHECKING: - from slither.core.declarations import FunctionContract, Structure, Contract + from slither.core.declarations import FunctionContract, CustomErrorContract + from slither.core.variables.state_variable import StateVariable + from slither.core.variables.local_variable import LocalVariable -def generate_interface(contract: "Contract") -> str: +# pylint: disable=too-many-arguments +def generate_interface( + contract: "Contract", + unroll_structs: bool = True, + include_events: bool = True, + include_errors: bool = True, + include_enums: bool = True, + include_structs: bool = True, +) -> str: """ Generates code for a Solidity interface to the contract. Args: - contract: A Contract object + contract: A Contract object. + unroll_structs: Whether to use structures' underlying types instead of the user-defined type (default: True). + include_events: Whether to include event signatures in the interface (default: True). + include_errors: Whether to include custom error signatures in the interface (default: True). + include_enums: Whether to include enum definitions in the interface (default: True). + include_structs: Whether to include struct definitions in the interface (default: True). Returns: A string with the code for an interface, with function stubs for all public or external functions and state variables, as well as any events, custom errors and/or structs declared in the contract. """ interface = f"interface I{contract.name} {{\n" - for event in contract.events: - name, args = event.signature - interface += f" event {name}({', '.join(args)});\n" - for error in contract.custom_errors: - args = [ - convert_type_for_solidity_signature_to_string(arg.type) - .replace("(", "") - .replace(")", "") - for arg in error.parameters - ] - interface += f" error {error.name}({', '.join(args)});\n" - for enum in contract.enums: - interface += f" enum {enum.name} {{ {', '.join(enum.values)} }}\n" - for struct in contract.structures: - interface += generate_struct_interface_str(struct) + if include_events: + for event in contract.events: + name, args = event.signature + interface += f" event {name}({', '.join(args)});\n" + if include_errors: + for error in contract.custom_errors: + interface += f" error {generate_custom_error_interface(error, unroll_structs)};\n" + if include_enums: + for enum in contract.enums: + interface += f" enum {enum.name} {{ {', '.join(enum.values)} }}\n" + if include_structs: + for struct in contract.structures: + interface += generate_struct_interface_str(struct, indent=4) for var in contract.state_variables_entry_points: - interface += f" function {var.signature_str.replace('returns', 'external returns ')};\n" + interface += f" function {generate_interface_variable_signature(var, unroll_structs)};\n" for func in contract.functions_entry_points: if func.is_constructor or func.is_fallback or func.is_receive: continue - interface += f" function {generate_interface_function_signature(func)};\n" + interface += ( + f" function {generate_interface_function_signature(func, unroll_structs)};\n" + ) interface += "}\n\n" return interface -def generate_interface_function_signature(func: "FunctionContract") -> Optional[str]: +def generate_interface_variable_signature( + var: "StateVariable", unroll_structs: bool = True +) -> Optional[str]: + if var.visibility in ["private", "internal"]: + return None + if unroll_structs: + params = [ + convert_type_for_solidity_signature_to_string(x).replace("(", "").replace(")", "") + for x in export_nested_types_from_variable(var) + ] + returns = [ + convert_type_for_solidity_signature_to_string(x).replace("(", "").replace(")", "") + for x in export_return_type_from_variable(var) + ] + else: + _, params, _ = var.signature + params = [p + " memory" if p in ["bytes", "string"] else p for p in params] + returns = [] + _type = var.type + while isinstance(_type, MappingType): + _type = _type.type_to + while isinstance(_type, (ArrayType, UserDefinedType)): + _type = _type.type + ret = str(_type) + if isinstance(_type, Structure) or (isinstance(_type, Type) and _type.is_dynamic): + ret += " memory" + elif isinstance(_type, Contract): + ret = "address" + returns.append(ret) + return f"{var.name}({','.join(params)}) external returns ({', '.join(returns)})" + + +def generate_interface_function_signature( + func: "FunctionContract", unroll_structs: bool = True +) -> Optional[str]: """ Generates a string of the form: func_name(type1,type2) external {payable/view/pure} returns (type3) Args: func: A FunctionContract object + unroll_structs: Determines whether structs are unrolled into underlying types (default: True) Returns: The function interface as a str (contains the return values). Returns None if the function is private or internal, or is a constructor/fallback/receive. """ - name, parameters, return_vars = func.signature + def format_var(var: "LocalVariable", unroll: bool) -> str: + if unroll: + return ( + convert_type_for_solidity_signature_to_string(var.type) + .replace("(", "") + .replace(")", "") + ) + if isinstance(var.type, ArrayType) and isinstance( + var.type.type, (UserDefinedType, ElementaryType) + ): + return ( + convert_type_for_solidity_signature_to_string(var.type) + .replace("(", "") + .replace(")", "") + + f" {var.location}" + ) + if isinstance(var.type, UserDefinedType): + if isinstance(var.type.type, (Structure, Enum)): + return f"{str(var.type.type)} memory" + if isinstance(var.type.type, Contract): + return "address" + if var.type.is_dynamic: + return f"{var.type} {var.location}" + return str(var.type) + + name, _, _ = func.signature if ( func not in func.contract.functions_entry_points or func.is_constructor @@ -64,26 +151,20 @@ def generate_interface_function_signature(func: "FunctionContract") -> Optional[ or func.is_receive ): return None - view = " view" if func.view else "" + view = " view" if func.view and not func.pure else "" pure = " pure" if func.pure else "" payable = " payable" if func.payable else "" - returns = [ - convert_type_for_solidity_signature_to_string(ret.type).replace("(", "").replace(")", "") - for ret in func.returns - ] - parameters = [ - convert_type_for_solidity_signature_to_string(param.type).replace("(", "").replace(")", "") - for param in func.parameters - ] + returns = [format_var(ret, unroll_structs) for ret in func.returns] + parameters = [format_var(param, unroll_structs) for param in func.parameters] _interface_signature_str = ( name + "(" + ",".join(parameters) + ") external" + payable + pure + view ) - if len(return_vars) > 0: + if len(returns) > 0: _interface_signature_str += " returns (" + ",".join(returns) + ")" return _interface_signature_str -def generate_struct_interface_str(struct: "Structure") -> str: +def generate_struct_interface_str(struct: "Structure", indent: int = 0) -> str: """ Generates code for a structure declaration in an interface of the form: struct struct_name { @@ -92,13 +173,37 @@ def generate_struct_interface_str(struct: "Structure") -> str: ... ... } Args: - struct: A Structure object + struct: A Structure object. + indent: Number of spaces to indent the code block with. Returns: The structure declaration code as a string. """ - definition = f" struct {struct.name} {{\n" + spaces = "" + for _ in range(0, indent): + spaces += " " + definition = f"{spaces}struct {struct.name} {{\n" for elem in struct.elems_ordered: - definition += f" {elem.type} {elem.name};\n" - definition += " }\n" + if isinstance(elem.type, UserDefinedType): + if isinstance(elem.type.type, (Structure, Enum)): + definition += f"{spaces} {elem.type.type} {elem.name};\n" + elif isinstance(elem.type.type, Contract): + definition += f"{spaces} address {elem.name};\n" + else: + definition += f"{spaces} {elem.type} {elem.name};\n" + definition += f"{spaces}}}\n" return definition + + +def generate_custom_error_interface( + error: "CustomErrorContract", unroll_structs: bool = True +) -> str: + args = [ + convert_type_for_solidity_signature_to_string(arg.type).replace("(", "").replace(")", "") + if unroll_structs + else str(arg.type.type) + if isinstance(arg.type, UserDefinedType) and isinstance(arg.type.type, (Structure, Enum)) + else str(arg.type) + for arg in error.parameters + ] + return f"{error.name}({', '.join(args)})" diff --git a/slither/utils/command_line.py b/slither/utils/command_line.py index 911609bf6..082472582 100644 --- a/slither/utils/command_line.py +++ b/slither/utils/command_line.py @@ -1,4 +1,5 @@ import argparse +import enum import json import os import re @@ -27,6 +28,15 @@ JSON_OUTPUT_TYPES = [ "list-printers", ] + +class FailOnLevel(enum.Enum): + PEDANTIC = "pedantic" + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + NONE = "none" + + # Those are the flags shared by the command line and the config file defaults_flag_in_config = { "codex": False, @@ -44,10 +54,7 @@ defaults_flag_in_config = { "exclude_low": False, "exclude_medium": False, "exclude_high": False, - "fail_pedantic": True, - "fail_low": False, - "fail_medium": False, - "fail_high": False, + "fail_on": FailOnLevel.PEDANTIC, "json": None, "sarif": None, "json-types": ",".join(DEFAULT_JSON_OUTPUT_TYPES), @@ -64,6 +71,13 @@ defaults_flag_in_config = { **DEFAULTS_FLAG_IN_CONFIG_CRYTIC_COMPILE, } +deprecated_flags = { + "fail_pedantic": True, + "fail_low": False, + "fail_medium": False, + "fail_high": False, +} + def read_config_file(args: argparse.Namespace) -> None: # No config file was provided as an argument @@ -80,6 +94,12 @@ def read_config_file(args: argparse.Namespace) -> None: with open(args.config_file, encoding="utf8") as f: config = json.load(f) for key, elem in config.items(): + if key in deprecated_flags: + logger.info( + yellow(f"{args.config_file} has a deprecated key: {key} : {elem}") + ) + migrate_config_options(args, key, elem) + continue if key not in defaults_flag_in_config: logger.info( yellow(f"{args.config_file} has an unknown key: {key} : {elem}") @@ -94,6 +114,28 @@ def read_config_file(args: argparse.Namespace) -> None: logger.error(yellow("Falling back to the default settings...")) +def migrate_config_options(args: argparse.Namespace, key: str, elem): + if key.startswith("fail_") and getattr(args, "fail_on") == defaults_flag_in_config["fail_on"]: + if key == "fail_pedantic": + pedantic_setting = elem + fail_on = FailOnLevel.PEDANTIC if pedantic_setting else FailOnLevel.NONE + setattr(args, "fail_on", fail_on) + logger.info(f"Migrating fail_pedantic: {pedantic_setting} as fail_on: {fail_on.value}") + elif key == "fail_low" and elem is True: + logger.info("Migrating fail_low: true -> fail_on: low") + setattr(args, "fail_on", FailOnLevel.LOW) + + elif key == "fail_medium" and elem is True: + logger.info("Migrating fail_medium: true -> fail_on: medium") + setattr(args, "fail_on", FailOnLevel.MEDIUM) + + elif key == "fail_high" and elem is True: + logger.info("Migrating fail_high: true -> fail_on: high") + setattr(args, "fail_on", FailOnLevel.HIGH) + else: + logger.warning(yellow(f"Key {key} was deprecated but no migration was provided")) + + def output_to_markdown( detector_classes: List[Type[AbstractDetector]], printer_classes: List[Type[AbstractPrinter]], diff --git a/slither/utils/expression_manipulations.py b/slither/utils/expression_manipulations.py index 753778be9..75d97042c 100644 --- a/slither/utils/expression_manipulations.py +++ b/slither/utils/expression_manipulations.py @@ -21,7 +21,7 @@ from slither.core.expressions.new_array import NewArray from slither.core.expressions.new_contract import NewContract from slither.core.expressions.tuple_expression import TupleExpression from slither.core.expressions.type_conversion import TypeConversion - +from slither.core.expressions.new_elementary_type import NewElementaryType # pylint: disable=protected-access def f_expressions( @@ -100,7 +100,14 @@ class SplitTernaryExpression: if isinstance( expression, - (Literal, Identifier, NewArray, NewContract, ElementaryTypeNameExpression), + ( + Literal, + Identifier, + NewArray, + NewContract, + ElementaryTypeNameExpression, + NewElementaryType, + ), ): return diff --git a/slither/utils/integer_conversion.py b/slither/utils/integer_conversion.py index 4ccc3b400..e7a52ace5 100644 --- a/slither/utils/integer_conversion.py +++ b/slither/utils/integer_conversion.py @@ -4,7 +4,9 @@ from typing import Union from slither.exceptions import SlitherError -def convert_string_to_fraction(val: Union[str, int]) -> Fraction: +def convert_string_to_fraction(val: Union[str, bytes, int]) -> Fraction: + if isinstance(val, bytes): + return int.from_bytes(val, byteorder="big") if isinstance(val, int): return Fraction(val) if val.startswith(("0x", "0X")): diff --git a/slither/utils/loc.py b/slither/utils/loc.py new file mode 100644 index 000000000..dde91578b --- /dev/null +++ b/slither/utils/loc.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass, field +from pathlib import Path +from typing import List, Tuple + +from slither import Slither +from slither.utils.myprettytable import MyPrettyTable +from slither.utils.tests_pattern import is_test_file + + +@dataclass +class LoCInfo: + loc: int = 0 + sloc: int = 0 + cloc: int = 0 + + def total(self) -> int: + return self.loc + self.sloc + self.cloc + + +@dataclass +class LoC: + src: LoCInfo = field(default_factory=LoCInfo) + dep: LoCInfo = field(default_factory=LoCInfo) + test: LoCInfo = field(default_factory=LoCInfo) + + def to_pretty_table(self) -> MyPrettyTable: + table = MyPrettyTable(["", "src", "dep", "test"]) + + table.add_row(["loc", str(self.src.loc), str(self.dep.loc), str(self.test.loc)]) + table.add_row(["sloc", str(self.src.sloc), str(self.dep.sloc), str(self.test.sloc)]) + table.add_row(["cloc", str(self.src.cloc), str(self.dep.cloc), str(self.test.cloc)]) + table.add_row( + ["Total", str(self.src.total()), str(self.dep.total()), str(self.test.total())] + ) + return table + + +def count_lines(contract_lines: List[str]) -> Tuple[int, int, int]: + """Function to count and classify the lines of code in a contract. + Args: + contract_lines: list(str) representing the lines of a contract. + Returns: + tuple(int, int, int) representing (cloc, sloc, loc) + """ + multiline_comment = False + cloc = 0 + sloc = 0 + loc = 0 + + for line in contract_lines: + loc += 1 + stripped_line = line.strip() + if not multiline_comment: + if stripped_line.startswith("//"): + cloc += 1 + elif "/*" in stripped_line: + # Account for case where /* is followed by */ on the same line. + # If it is, then multiline_comment does not need to be set to True + start_idx = stripped_line.find("/*") + end_idx = stripped_line.find("*/", start_idx + 2) + if end_idx == -1: + multiline_comment = True + cloc += 1 + elif stripped_line: + sloc += 1 + else: + cloc += 1 + if "*/" in stripped_line: + multiline_comment = False + + return cloc, sloc, loc + + +def _update_lines(loc_info: LoCInfo, lines: list) -> None: + """An internal function used to update (mutate in place) the loc_info. + + Args: + loc_info: LoCInfo to be updated + lines: list(str) representing the lines of a contract. + """ + cloc, sloc, loc = count_lines(lines) + loc_info.loc += loc + loc_info.cloc += cloc + loc_info.sloc += sloc + + +def compute_loc_metrics(slither: Slither) -> LoC: + """Used to compute the lines of code metrics for a Slither object. + + Args: + slither: A Slither object + Returns: + A LoC object + """ + + loc = LoC() + + for filename, source_code in slither.source_code.items(): + current_lines = source_code.splitlines() + is_dep = False + if slither.crytic_compile: + is_dep = slither.crytic_compile.is_dependency(filename) + loc_type = loc.dep if is_dep else loc.test if is_test_file(Path(filename)) else loc.src + _update_lines(loc_type, current_lines) + return loc diff --git a/slither/utils/myprettytable.py b/slither/utils/myprettytable.py index af10a6ff2..2f2be7e72 100644 --- a/slither/utils/myprettytable.py +++ b/slither/utils/myprettytable.py @@ -1,6 +1,6 @@ from typing import List, Dict, Union -from prettytable import PrettyTable +from prettytable.colortable import ColorTable, Themes class MyPrettyTable: @@ -11,8 +11,8 @@ class MyPrettyTable: def add_row(self, row: List[Union[str, List[str]]]) -> None: self._rows.append(row) - def to_pretty_table(self) -> PrettyTable: - table = PrettyTable(self._field_names) + def to_pretty_table(self) -> ColorTable: + table = ColorTable(self._field_names, theme=Themes.OCEAN) for row in self._rows: table.add_row(row) return table diff --git a/slither/utils/type.py b/slither/utils/type.py index 1674999aa..a6b640202 100644 --- a/slither/utils/type.py +++ b/slither/utils/type.py @@ -197,3 +197,18 @@ def export_return_type_from_variable( return ret return [variable_or_type.type] + + +def is_underlying_type_address(t: "Type") -> bool: + """ + Return true if the underlying type is an address + i.e. if the type is an address or a contract + """ + # pylint: disable=import-outside-toplevel + from slither.core.declarations.contract import Contract + + if t == ElementaryType("address"): + return True + if isinstance(t, UserDefinedType) and isinstance(t.type, Contract): + return True + return False diff --git a/slither/utils/upgradeability.py b/slither/utils/upgradeability.py index 7b4e8493a..3bef3b9b6 100644 --- a/slither/utils/upgradeability.py +++ b/slither/utils/upgradeability.py @@ -19,10 +19,12 @@ from slither.core.variables.local_variable_init_from_tuple import LocalVariableI from slither.core.variables.state_variable import StateVariable from slither.analyses.data_dependency.data_dependency import get_dependencies from slither.core.variables.variable import Variable -from slither.core.expressions.literal import Literal -from slither.core.expressions.identifier import Identifier -from slither.core.expressions.call_expression import CallExpression -from slither.core.expressions.assignment_operation import AssignmentOperation +from slither.core.expressions import ( + Literal, + Identifier, + CallExpression, + AssignmentOperation, +) from slither.core.cfg.node import Node, NodeType from slither.slithir.operations import ( Operation, @@ -61,11 +63,42 @@ from slither.slithir.variables import ( from slither.tools.read_storage.read_storage import SlotInfo, SlitherReadStorage +class TaintedExternalContract: + def __init__(self, contract: "Contract") -> None: + self._contract: Contract = contract + self._tainted_functions: List[Function] = [] + self._tainted_variables: List[Variable] = [] + + @property + def contract(self) -> Contract: + return self._contract + + @property + def tainted_functions(self) -> List[Function]: + return self._tainted_functions + + def add_tainted_function(self, f: Function): + self._tainted_functions.append(f) + + @property + def tainted_variables(self) -> List[Variable]: + return self._tainted_variables + + def add_tainted_variable(self, v: Variable): + self._tainted_variables.append(v) + + # pylint: disable=too-many-locals def compare( - v1: Contract, v2: Contract + v1: Contract, v2: Contract, include_external: bool = False ) -> Tuple[ - List[Variable], List[Variable], List[Variable], List[Function], List[Function], List[Function] + List[Variable], + List[Variable], + List[Variable], + List[Function], + List[Function], + List[Function], + List[TaintedExternalContract], ]: """ Compares two versions of a contract. Most useful for upgradeable (logic) contracts, @@ -74,6 +107,7 @@ def compare( Args: v1: Original version of (upgradeable) contract v2: Updated version of (upgradeable) contract + include_external: Optional flag to enable cross-contract external taint analysis Returns: missing-vars-in-v2: list[Variable], @@ -82,6 +116,7 @@ def compare( new-functions: list[Function], modified-functions: list[Function], tainted-functions: list[Function] + tainted-contracts: list[TaintedExternalContract] """ order_vars1 = [ @@ -113,17 +148,13 @@ def compare( if sig not in func_sigs1: new_modified_functions.append(function) new_functions.append(function) - new_modified_function_vars += ( - function.state_variables_read + function.state_variables_written - ) + new_modified_function_vars += function.all_state_variables_written() elif not function.is_constructor_variables and is_function_modified( orig_function, function ): new_modified_functions.append(function) modified_functions.append(function) - new_modified_function_vars += ( - function.state_variables_read + function.state_variables_written - ) + new_modified_function_vars += function.all_state_variables_written() # Find all unmodified functions that call a modified function or read/write the # same state variable(s) as a new/modified function, i.e., tainted functions @@ -140,25 +171,28 @@ def compare( tainted_vars = [ var for var in set(new_modified_function_vars) - if var in function.variables_read_or_written + if var in function.all_state_variables_read() + function.all_state_variables_written() and not var.is_constant and not var.is_immutable ] if len(modified_calls) > 0 or len(tainted_vars) > 0: tainted_functions.append(function) - # Find all new or tainted variables, i.e., variables that are read or written by a new/modified/tainted function + # Find all new or tainted variables, i.e., variables that are written by a new/modified/tainted function for var in order_vars2: - read_by = v2.get_functions_reading_from_variable(var) written_by = v2.get_functions_writing_to_variable(var) - if v1.get_state_variable_from_name(var.name) is None: + if next((v for v in v1.state_variables_ordered if v.name == var.name), None) is None: new_variables.append(var) - elif any( - func in read_by or func in written_by - for func in new_modified_functions + tainted_functions - ): + elif any(func in written_by for func in new_modified_functions + tainted_functions): tainted_variables.append(var) + tainted_contracts = [] + if include_external: + # Find all external contracts and functions called by new/modified/tainted functions + tainted_contracts = tainted_external_contracts( + new_functions + modified_functions + tainted_functions + ) + return ( missing_vars_in_v2, new_variables, @@ -166,9 +200,137 @@ def compare( new_functions, modified_functions, tainted_functions, + tainted_contracts, ) +def tainted_external_contracts(funcs: List[Function]) -> List[TaintedExternalContract]: + """ + Takes a list of functions from one contract, finds any calls in these to functions in external contracts, + and determines which variables and functions in the external contracts are tainted by these external calls. + Args: + funcs: a list of Function objects to search for external calls. + + Returns: + TaintedExternalContract() ( + contract: Contract, + tainted_functions: List[TaintedFunction], + tainted_variables: List[TaintedVariable] + ) + """ + tainted_contracts: dict[str, TaintedExternalContract] = {} + tainted_list: list[TaintedExternalContract] = [] + + for func in funcs: + for contract, target in func.all_high_level_calls(): + if contract.is_library: + # Not interested in library calls + continue + if contract.name not in tainted_contracts: + # A contract may be tainted by multiple function calls - only make one TaintedExternalContract object + tainted_contracts[contract.name] = TaintedExternalContract(contract) + if ( + isinstance(target, Function) + and target not in funcs + and target not in (f for f in tainted_contracts[contract.name].tainted_functions) + and not (target.is_constructor or target.is_fallback or target.is_receive) + ): + # Found a high-level call to a new tainted function + tainted_contracts[contract.name].add_tainted_function(target) + for var in target.all_state_variables_written(): + # Consider as tainted all variables written by the tainted function + if var not in (v for v in tainted_contracts[contract.name].tainted_variables): + tainted_contracts[contract.name].add_tainted_variable(var) + elif ( + isinstance(target, StateVariable) + and target not in (v for v in tainted_contracts[contract.name].tainted_variables) + and not (target.is_constant or target.is_immutable) + ): + # Found a new high-level call to a public state variable getter + tainted_contracts[contract.name].add_tainted_variable(target) + for c in tainted_contracts.values(): + tainted_list.append(c) + contract = c.contract + variables = c.tainted_variables + for var in variables: + # For each tainted variable, consider as tainted any function that reads or writes to it + read_write = set( + contract.get_functions_reading_from_variable(var) + + contract.get_functions_writing_to_variable(var) + ) + for f in read_write: + if f not in tainted_contracts[contract.name].tainted_functions and not ( + f.is_constructor or f.is_fallback or f.is_receive + ): + c.add_tainted_function(f) + return tainted_list + + +def tainted_inheriting_contracts( + tainted_contracts: List[TaintedExternalContract], contracts: List[Contract] = None +) -> List[TaintedExternalContract]: + """ + Takes a list of TaintedExternalContract obtained from tainted_external_contracts, and finds any contracts which + inherit a tainted contract, as well as any functions that call tainted functions or read tainted variables in + the inherited contract. + Args: + tainted_contracts: the list obtained from `tainted_external_contracts` or `compare`. + contracts: (optional) the list of contracts to check for inheritance. If not provided, defaults to + `contract.compilation_unit.contracts` for each contract in tainted_contracts. + + Returns: + An updated list of TaintedExternalContract, including all from the input list. + """ + for tainted in tainted_contracts: + contract = tainted.contract + check_contracts = contracts + if contracts is None: + check_contracts = contract.compilation_unit.contracts + # We are only interested in checking contracts that inherit a tainted contract + check_contracts = [ + c + for c in check_contracts + if c.name not in [t.contract.name for t in tainted_contracts] + and contract.name in [i.name for i in c.inheritance] + ] + for c in check_contracts: + new_taint = TaintedExternalContract(c) + for f in c.functions_declared: + # Search for functions that call an inherited tainted function or access an inherited tainted variable + internal_calls = [c for c in f.all_internal_calls() if isinstance(c, Function)] + if any( + call.canonical_name == t.canonical_name + for t in tainted.tainted_functions + for call in internal_calls + ) or any( + var.canonical_name == t.canonical_name + for t in tainted.tainted_variables + for var in f.all_state_variables_read() + f.all_state_variables_written() + ): + new_taint.add_tainted_function(f) + for f in new_taint.tainted_functions: + # For each newly found tainted function, consider as tainted any variable it writes to + for var in f.all_state_variables_written(): + if var not in ( + v for v in tainted.tainted_variables + new_taint.tainted_variables + ): + new_taint.add_tainted_variable(var) + for var in new_taint.tainted_variables: + # For each newly found tainted variable, consider as tainted any function that reads or writes to it + read_write = set( + contract.get_functions_reading_from_variable(var) + + contract.get_functions_writing_to_variable(var) + ) + for f in read_write: + if f not in ( + t for t in tainted.tainted_functions + new_taint.tainted_functions + ) and not (f.is_constructor or f.is_fallback or f.is_receive): + new_taint.add_tainted_function(f) + if len(new_taint.tainted_functions) > 0: + tainted_contracts.append(new_taint) + return tainted_contracts + + def get_missing_vars(v1: Contract, v2: Contract) -> List[StateVariable]: """ Gets all non-constant/immutable StateVariables that appear in v1 but not v2 @@ -220,6 +382,8 @@ def is_function_modified(f1: Function, f2: Function) -> bool: visited.extend([node_f1, node_f2]) queue_f1.extend(son for son in node_f1.sons if son not in visited) queue_f2.extend(son for son in node_f2.sons if son not in visited) + if len(node_f1.irs) != len(node_f2.irs): + return True for i, ir in enumerate(node_f1.irs): if encode_ir_for_compare(ir) != encode_ir_for_compare(node_f2.irs[i]): return True @@ -273,13 +437,13 @@ def encode_ir_for_compare(ir: Operation) -> str: if isinstance(ir, Assignment): return f"({encode_var_for_compare(ir.lvalue)}):=({encode_var_for_compare(ir.rvalue)})" if isinstance(ir, Index): - return f"index({ntype(ir.index_type)})" + return f"index({ntype(ir.variable_right.type)})" if isinstance(ir, Member): return "member" # .format(ntype(ir._type)) if isinstance(ir, Length): return "length" if isinstance(ir, Binary): - return f"binary({str(ir.variable_left)}{str(ir.type)}{str(ir.variable_right)})" + return f"binary({encode_var_for_compare(ir.variable_left)}{ir.type}{encode_var_for_compare(ir.variable_right)})" if isinstance(ir, Unary): return f"unary({str(ir.type)})" if isinstance(ir, Condition): @@ -330,7 +494,7 @@ def encode_var_for_compare(var: Variable) -> str: # variables if isinstance(var, Constant): - return f"constant({ntype(var.type)})" + return f"constant({ntype(var.type)},{var.value})" if isinstance(var, SolidityVariableComposed): return f"solidity_variable_composed({var.name})" if isinstance(var, SolidityVariable): @@ -340,9 +504,16 @@ def encode_var_for_compare(var: Variable) -> str: if isinstance(var, ReferenceVariable): return f"reference({ntype(var.type)})" if isinstance(var, LocalVariable): - return f"local_solc_variable({var.location})" + return f"local_solc_variable({ntype(var.type)},{var.location})" if isinstance(var, StateVariable): - return f"state_solc_variable({ntype(var.type)})" + if not (var.is_constant or var.is_immutable): + try: + slot, _ = var.contract.compilation_unit.storage_layout_of(var.contract, var) + except KeyError: + slot = var.name + else: + slot = var.name + return f"state_solc_variable({ntype(var.type)},{slot})" if isinstance(var, LocalVariableInitFromTuple): return "local_variable_init_tuple" if isinstance(var, TupleVariable): @@ -398,6 +569,7 @@ def get_proxy_implementation_var(proxy: Contract) -> Optional[Variable]: try: delegate = next(var for var in dependencies if isinstance(var, StateVariable)) except StopIteration: + # TODO: Handle cases where get_dependencies doesn't return any state variables. return delegate return delegate diff --git a/slither/visitors/expression/constants_folding.py b/slither/visitors/expression/constants_folding.py index 12eb6be9d..b1fa570c6 100644 --- a/slither/visitors/expression/constants_folding.py +++ b/slither/visitors/expression/constants_folding.py @@ -1,5 +1,6 @@ from fractions import Fraction from typing import Union +from Crypto.Hash import keccak from slither.core import expressions from slither.core.expressions import ( @@ -11,9 +12,9 @@ from slither.core.expressions import ( UnaryOperation, TupleExpression, TypeConversion, + CallExpression, ) from slither.core.variables import Variable - from slither.utils.integer_conversion import convert_string_to_fraction, convert_string_to_int from slither.visitors.expression.expression import ExpressionVisitor from slither.core.solidity_types.elementary_type import ElementaryType @@ -65,23 +66,31 @@ class ConstantFolding(ExpressionVisitor): value = value & (2**256 - 1) return Literal(value, self._type) + # pylint: disable=import-outside-toplevel def _post_identifier(self, expression: Identifier) -> None: - if not isinstance(expression.value, Variable): - return - if not expression.value.is_constant: + from slither.core.declarations.solidity_variables import SolidityFunction + + if isinstance(expression.value, Variable): + if expression.value.is_constant: + expr = expression.value.expression + # assumption that we won't have infinite loop + # Everything outside of literal + if isinstance( + expr, + (BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion), + ): + cf = ConstantFolding(expr, self._type) + expr = cf.result() + assert isinstance(expr, Literal) + set_val(expression, convert_string_to_int(expr.converted_value)) + else: + raise NotConstant + elif isinstance(expression.value, SolidityFunction): + set_val(expression, expression.value) + else: raise NotConstant - expr = expression.value.expression - # assumption that we won't have infinite loop - # Everything outside of literal - if isinstance( - expr, (BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion) - ): - cf = ConstantFolding(expr, self._type) - expr = cf.result() - assert isinstance(expr, Literal) - set_val(expression, convert_string_to_int(expr.converted_value)) - # pylint: disable=too-many-branches + # pylint: disable=too-many-branches,too-many-statements def _post_binary_operation(self, expression: BinaryOperation) -> None: expression_left = expression.expression_left expression_right = expression.expression_right @@ -95,7 +104,6 @@ class ConstantFolding(ExpressionVisitor): (Literal, BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion), ): raise NotConstant - left = get_val(expression_left) right = get_val(expression_right) @@ -183,7 +191,9 @@ class ConstantFolding(ExpressionVisitor): raise NotConstant def _post_literal(self, expression: Literal) -> None: - if expression.converted_value in ["true", "false"]: + if str(expression.type) == "bool": + set_val(expression, expression.converted_value) + elif str(expression.type) == "string": set_val(expression, expression.converted_value) else: try: @@ -195,7 +205,14 @@ class ConstantFolding(ExpressionVisitor): raise NotConstant def _post_call_expression(self, expression: expressions.CallExpression) -> None: - raise NotConstant + called = get_val(expression.called) + args = [get_val(arg) for arg in expression.arguments] + if called.name == "keccak256(bytes)": + digest = keccak.new(digest_bits=256) + digest.update(str(args[0]).encode("utf-8")) + set_val(expression, digest.digest()) + else: + raise NotConstant def _post_conditional_expression(self, expression: expressions.ConditionalExpression) -> None: raise NotConstant @@ -247,10 +264,24 @@ class ConstantFolding(ExpressionVisitor): expr = expression.expression if not isinstance( expr, - (Literal, BinaryOperation, UnaryOperation, Identifier, TupleExpression, TypeConversion), + ( + Literal, + BinaryOperation, + UnaryOperation, + Identifier, + TupleExpression, + TypeConversion, + CallExpression, + ), ): raise NotConstant cf = ConstantFolding(expr, self._type) expr = cf.result() assert isinstance(expr, Literal) - set_val(expression, convert_string_to_fraction(expr.converted_value)) + if str(expression.type).startswith("uint") and isinstance(expr.value, bytes): + value = int.from_bytes(expr.value, "big") + elif str(expression.type).startswith("byte") and isinstance(expr.value, int): + value = int.to_bytes(expr.value, 32, "big") + else: + value = convert_string_to_fraction(expr.converted_value) + set_val(expression, value) diff --git a/slither/visitors/expression/expression_printer.py b/slither/visitors/expression/expression_printer.py index 601627c02..61af4f1c9 100644 --- a/slither/visitors/expression/expression_printer.py +++ b/slither/visitors/expression/expression_printer.py @@ -76,8 +76,7 @@ class ExpressionPrinter(ExpressionVisitor): def _post_new_array(self, expression: expressions.NewArray) -> None: array = str(expression.array_type) - depth = expression.depth - val = f"new {array}{'[]' * depth}" + val = f"new {array}" set_val(expression, val) def _post_new_contract(self, expression: expressions.NewContract) -> None: diff --git a/slither/visitors/slithir/expression_to_slithir.py b/slither/visitors/slithir/expression_to_slithir.py index 90905be4e..005ad81a4 100644 --- a/slither/visitors/slithir/expression_to_slithir.py +++ b/slither/visitors/slithir/expression_to_slithir.py @@ -10,6 +10,7 @@ from slither.core.declarations import ( Contract, EnumContract, EnumTopLevel, + Enum, ) from slither.core.expressions import ( AssignmentOperation, @@ -405,10 +406,13 @@ class ExpressionToSlithIR(ExpressionVisitor): right = get(expression.expression_right) operation: Operation # Left can be a type for abi.decode(var, uint[2]) - if isinstance(left, Type): + if isinstance(left, (Type, Contract, Enum)): # Nested type are not yet supported by abi.decode, so the assumption # Is that the right variable must be a constant assert isinstance(right, Constant) + # Case for abi.decode(var, I[2]) where I is an interface/contract or an enum + if isinstance(left, (Contract, Enum)): + left = UserDefinedType(left) t = ArrayType(left, int(right.value)) set_val(expression, t) return @@ -528,7 +532,7 @@ class ExpressionToSlithIR(ExpressionVisitor): def _post_new_array(self, expression: NewArray) -> None: val = TemporaryVariable(self._node) - operation = TmpNewArray(expression.depth, expression.array_type, val) + operation = TmpNewArray(expression.array_type, val) operation.set_expression(expression) self._result.append(operation) set_val(expression, val) @@ -622,7 +626,6 @@ class ExpressionToSlithIR(ExpressionVisitor): set_val(expression, value) elif expression.type in [UnaryOperationType.MINUS_PRE]: lvalue = TemporaryVariable(self._node) - assert isinstance(value.type, ElementaryType) operation = Binary(lvalue, Constant("0", value.type), value, BinaryType.SUBTRACTION) operation.set_expression(expression) self._result.append(operation) diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..63fccfa12 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,79 @@ +# pylint: disable=redefined-outer-name +import os +import shutil +import tempfile +from pathlib import Path +from contextlib import contextmanager +from filelock import FileLock +from solc_select import solc_select +import pytest +from slither import Slither + + +def pytest_configure(config): + """Create a temporary directory for the tests to use.""" + if is_master(): + config.stash["shared_directory"] = tempfile.mkdtemp() + + +def pytest_unconfigure(config): + """Remove the temporary directory after the tests are done.""" + if is_master(): + shutil.rmtree(config.stash["shared_directory"]) + + +def pytest_configure_node(node): + """Configure each worker node with the shared directory.""" + node.workerinput["shared_directory"] = node.config.stash["shared_directory"] + + +def is_master(): + """Returns True if the current process is the master process (which does not have a worker id).""" + return os.environ.get("PYTEST_XDIST_WORKER") is None + + +@pytest.fixture +def shared_directory(request): + """Returns the shared directory for the current process.""" + if is_master(): + return request.config.stash["shared_directory"] + return request.config.workerinput["shared_directory"] + + +@pytest.fixture +def solc_binary_path(shared_directory): + """ + Returns the path to the solc binary for the given version. + If the binary is not installed, it will be installed. + """ + + def inner(version): + lock = FileLock(f"{shared_directory}/{version}.lock", timeout=60) + with lock: + if not solc_select.artifact_path(version).exists(): + print("Installing solc version", version) + solc_select.install_artifacts([version]) + return solc_select.artifact_path(version).as_posix() + + return inner + + +@pytest.fixture +def slither_from_source(solc_binary_path): + @contextmanager + def inner(source_code: str, solc_version: str = "0.8.19"): + """Yields a Slither instance using source_code string and solc_version. + Creates a temporary file and compiles with solc_version. + """ + + fname = "" + try: + with tempfile.NamedTemporaryFile(mode="w", suffix=".sol", delete=False) as f: + fname = f.name + f.write(source_code) + solc_path = solc_binary_path(solc_version) + yield Slither(fname, solc=solc_path) + finally: + Path(fname).unlink() + + return inner diff --git a/tests/e2e/compilation/test_resolution.py b/tests/e2e/compilation/test_resolution.py index 4b50b0737..71edaa143 100644 --- a/tests/e2e/compilation/test_resolution.py +++ b/tests/e2e/compilation/test_resolution.py @@ -3,7 +3,6 @@ import pytest from crytic_compile import CryticCompile from crytic_compile.platform.solc_standard_json import SolcStandardJson -from solc_select import solc_select from slither import Slither @@ -24,8 +23,8 @@ def test_node_modules() -> None: _run_all_detectors(slither) -def test_contract_name_collisions() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) +def test_contract_name_collision(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") standard_json = SolcStandardJson() standard_json.add_source_file( Path(TEST_DATA_DIR, "test_contract_name_collisions", "a.sol").as_posix() @@ -34,13 +33,13 @@ def test_contract_name_collisions() -> None: Path(TEST_DATA_DIR, "test_contract_name_collisions", "b.sol").as_posix() ) - compilation = CryticCompile(standard_json) + compilation = CryticCompile(standard_json, solc=solc_path) slither = Slither(compilation) _run_all_detectors(slither) -def test_cycle() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither(Path(TEST_DATA_DIR, "test_cyclic_import", "a.sol").as_posix()) +def test_cycle(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(TEST_DATA_DIR, "test_cyclic_import", "a.sol").as_posix(), solc=solc_path) _run_all_detectors(slither) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_4_25_storage_ABIEncoderV2_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_4_25_storage_ABIEncoderV2_array_sol__0.txt new file mode 100644 index 000000000..35872cfcb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_4_25_storage_ABIEncoderV2_array_sol__0.txt @@ -0,0 +1,18 @@ +Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug: + - b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40) + +Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug: + - this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22) + +Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug: + - event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45) + +Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug: + - b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35) + +Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug: + - this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30) + +Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug: + - event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_10_storage_ABIEncoderV2_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_10_storage_ABIEncoderV2_array_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_9_storage_ABIEncoderV2_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_9_storage_ABIEncoderV2_array_sol__0.txt new file mode 100644 index 000000000..c63496458 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ABIEncoderV2Array_0_5_9_storage_ABIEncoderV2_array_sol__0.txt @@ -0,0 +1,18 @@ +Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug: + - event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50) + +Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug: + - this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22) + +Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug: + - event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45) + +Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug: + - b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35) + +Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug: + - this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30) + +Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug: + - b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_4_25_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_4_25_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..671bb5a8e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_4_25_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66) + +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_5_16_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_5_16_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..3a51fec76 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_5_16_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58) + +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_6_11_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_6_11_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..b6fcace17 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_6_11_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58) + +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_7_6_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_7_6_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..20cab07cc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_7_6_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58) + +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_inheritance_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_inheritance_sol__0.txt new file mode 100644 index 000000000..d6cceff72 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_inheritance_sol__0.txt @@ -0,0 +1,2 @@ +T.bad(address) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#11-13) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,address(0x1),90) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_sol__0.txt new file mode 100644 index 000000000..33f681067 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20NoPermit_0_8_0_arbitrary_send_erc20_sol__0.txt @@ -0,0 +1,6 @@ +C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36) + +C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58) + +C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_4_25_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_4_25_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..c009ae408 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_4_25_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#44) + +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#49) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#54) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_5_16_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_5_16_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..a5376e999 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_5_16_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#44) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#54) + +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#49) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_6_11_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_6_11_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..6c81a434b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_6_11_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#49) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#54) + +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#44) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_7_6_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_7_6_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..8cf69612d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_7_6_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#44) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#34) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#54) + +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#49) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_8_0_arbitrary_send_erc20_permit_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_8_0_arbitrary_send_erc20_permit_sol__0.txt new file mode 100644 index 000000000..7921c41b0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendErc20Permit_0_8_0_arbitrary_send_erc20_permit_sol__0.txt @@ -0,0 +1,8 @@ +C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#49) + +C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#54) + +C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#44) + +C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_4_25_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_4_25_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..1b16e0df6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_4_25_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20) + +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_5_16_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_5_16_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..61b5acab8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_5_16_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12) + +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_6_11_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_6_11_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..56ccf3cd3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_6_11_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20) + +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_7_6_arbitrary_send_eth_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_7_6_arbitrary_send_eth_sol__0.txt new file mode 100644 index 000000000..3d4a4f037 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArbitrarySendEth_0_7_6_arbitrary_send_eth_sol__0.txt @@ -0,0 +1,8 @@ +Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user + Dangerous calls: + - msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12) + +Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user + Dangerous calls: + - destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_4_25_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_4_25_array_by_reference_sol__0.txt new file mode 100644 index 000000000..5cb8add39 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_4_25_array_by_reference_sol__0.txt @@ -0,0 +1,14 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23) which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23) which only takes arrays by value + +E.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#57-61) passes array E.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#54) by reference to E.setByValue(uint256[1],uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#63-66) which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_5_16_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_5_16_array_by_reference_sol__0.txt new file mode 100644 index 000000000..6e97d8cc2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_5_16_array_by_reference_sol__0.txt @@ -0,0 +1,14 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23) which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23) which only takes arrays by value + +E.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#57-61) passes array E.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#54) by reference to E.setByValue(uint256[1],uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#63-66) which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_6_11_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_6_11_array_by_reference_sol__0.txt new file mode 100644 index 000000000..39574b5f5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_6_11_array_by_reference_sol__0.txt @@ -0,0 +1,14 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23) which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23) which only takes arrays by value + +E.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#57-61) passes array E.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#54) by reference to E.setByValue(uint256[1],uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#63-66) which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_7_6_array_by_reference_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_7_6_array_by_reference_sol__0.txt new file mode 100644 index 000000000..74ea36a0c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayByReference_0_7_6_array_by_reference_sol__0.txt @@ -0,0 +1,14 @@ +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28) which only takes arrays by value + +C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23) which only takes arrays by value + +D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39) by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28) which only takes arrays by value + +C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11) by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23) which only takes arrays by value + +E.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#57-61) passes array E.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#54) by reference to E.setByValue(uint256[1],uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#63-66) which only takes arrays by value + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_4_25_array_length_assignment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_4_25_array_length_assignment_sol__0.txt new file mode 100644 index 000000000..02c27c7b3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_4_25_array_length_assignment_sol__0.txt @@ -0,0 +1,9 @@ +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - b.subStruct.x.length = param + 1 (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#41) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - a.x.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#36) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - arr.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#26) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_5_16_array_length_assignment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_5_16_array_length_assignment_sol__0.txt new file mode 100644 index 000000000..5ca8654b5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ArrayLengthAssignment_0_5_16_array_length_assignment_sol__0.txt @@ -0,0 +1,9 @@ +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - b.subStruct.x.length = param + 1 (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#41) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - a.x.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#36) + +ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value: + - arr.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#26) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..c00244213 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#7-20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..afba3895f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_4_25_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#26-47) + +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#18-21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..37356c77e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#7-19) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..8ddbcec93 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_5_16_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#18-20) + +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#26-46) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..43d939dcf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#5-17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..c2a6d44a1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_6_11_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#16-18) + +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#24-44) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_contract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_contract_sol__0.txt new file mode 100644 index 000000000..42e5f8eaf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_contract_sol__0.txt @@ -0,0 +1,3 @@ +GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#5-17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_library_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_library_sol__0.txt new file mode 100644 index 000000000..0e20c94b8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Assembly_0_7_6_inline_assembly_library_sol__0.txt @@ -0,0 +1,6 @@ +VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#16-18) + +VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly + - INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#24-44) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_4_25_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_4_25_assert_state_change_sol__0.txt new file mode 100644 index 000000000..ba0febf9c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_4_25_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_5_16_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_5_16_assert_state_change_sol__0.txt new file mode 100644 index 000000000..dfc5260f9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_5_16_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_6_11_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_6_11_assert_state_change_sol__0.txt new file mode 100644 index 000000000..7dbb05343 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_6_11_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_7_6_assert_state_change_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_7_6_assert_state_change_sol__0.txt new file mode 100644 index 000000000..30643f73e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_AssertStateChange_0_7_6_assert_state_change_sol__0.txt @@ -0,0 +1,12 @@ +A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state. + -assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#20) +Consider using require() or change the invariant to not modify the state. + +A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state. + -assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#12) +Consider using require() or change the invariant to not modify the state. + +A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state. + -assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#7) +Consider using require() or change the invariant to not modify the state. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_4_25_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_4_25_backdoor_sol__0.txt new file mode 100644 index 000000000..863dbbf31 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_4_25_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_5_16_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_5_16_backdoor_sol__0.txt new file mode 100644 index 000000000..8cacb70dd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_5_16_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_6_11_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_6_11_backdoor_sol__0.txt new file mode 100644 index 000000000..6c026c056 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_6_11_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_7_6_backdoor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_7_6_backdoor_sol__0.txt new file mode 100644 index 000000000..162f1afd2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Backdoor_0_7_6_backdoor_sol__0.txt @@ -0,0 +1,2 @@ +Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#4-6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_4_25_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_4_25_bad_prng_sol__0.txt new file mode 100644 index 000000000..18676563f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_4_25_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#8-10) uses a weak PRNG: "i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#9)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#13)" + +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#21)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#5)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_5_16_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_5_16_bad_prng_sol__0.txt new file mode 100644 index 000000000..34db1a9a2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_5_16_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#8-10) uses a weak PRNG: "i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#9)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#5)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#13)" + +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#21)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_6_11_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_6_11_bad_prng_sol__0.txt new file mode 100644 index 000000000..4c65f2cad --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_6_11_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#8-10) uses a weak PRNG: "i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#9)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#5)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#13)" + +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#21)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_7_6_bad_prng_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_7_6_bad_prng_sol__0.txt new file mode 100644 index 000000000..dc2ca5bfb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BadPRNG_0_7_6_bad_prng_sol__0.txt @@ -0,0 +1,8 @@ +BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: "i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#21)" + +BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: "i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#13)" + +BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#9)" + +BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: "i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#5)" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_4_25_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_4_25_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..73aafb933 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_4_25_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_5_16_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_5_16_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..f73791b89 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_5_16_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_6_11_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_6_11_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..7e9969c00 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_6_11_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_7_6_boolean_constant_misuse_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_7_6_boolean_constant_misuse_sol__0.txt new file mode 100644 index 000000000..a2ccfe269 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanConstantMisuse_0_7_6_boolean_constant_misuse_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly: + -(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_4_25_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_4_25_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..81b5ee2ae --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_4_25_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_5_16_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_5_16_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..423335c2e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_5_16_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_6_11_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_6_11_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..48f3f294c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_6_11_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_7_6_boolean_constant_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_7_6_boolean_constant_equality_sol__0.txt new file mode 100644 index 000000000..24e475cc0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BooleanEquality_0_7_6_boolean_constant_equality_sol__0.txt @@ -0,0 +1,3 @@ +MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant: + -(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_4_25_shadowing_builtin_symbols_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_4_25_shadowing_builtin_symbols_sol__0.txt new file mode 100644 index 000000000..283b93ee5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_4_25_shadowing_builtin_symbols_sol__0.txt @@ -0,0 +1,26 @@ +Reserved.mutable (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#32) (state variable) shadows built-in symbol" + +ExtendedContract.ecrecover (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require().keccak256 (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol" + +FurtherExtendedContract.abi (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol" + +BaseContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol" + +FurtherExtendedContract.this (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol" + +BaseContract.now (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol" + +ExtendedContract.assert(bool).msg (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol" + +ExtendedContract.assert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol" + +BaseContract.revert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol" + +FurtherExtendedContract.require().sha3 (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol" + +FurtherExtendedContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require() (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_5_16_shadowing_builtin_symbols_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_5_16_shadowing_builtin_symbols_sol__0.txt new file mode 100644 index 000000000..2780f9e62 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_BuiltinSymbolShadowing_0_5_16_shadowing_builtin_symbols_sol__0.txt @@ -0,0 +1,24 @@ +ExtendedContract.ecrecover (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require().keccak256 (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol" + +FurtherExtendedContract.abi (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol" + +BaseContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol" + +FurtherExtendedContract.this (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol" + +BaseContract.now (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol" + +ExtendedContract.assert(bool).msg (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol" + +ExtendedContract.assert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol" + +BaseContract.revert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol" + +FurtherExtendedContract.require().sha3 (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol" + +FurtherExtendedContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol" + +FurtherExtendedContract.require() (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CacheArrayLength_0_8_17_CacheArrayLength_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CacheArrayLength_0_8_17_CacheArrayLength_sol__0.txt new file mode 100644 index 000000000..456c702a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CacheArrayLength_0_8_17_CacheArrayLength_sol__0.txt @@ -0,0 +1,20 @@ +Loop condition `j < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#109) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `i < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#161) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `i < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#172) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `j < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#126) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `k < array2.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#133) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `i < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#68) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `k < array2.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#99) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `i < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#167) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `i < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#37) should use cached array length instead of referencing `length` member of the storage array. + +Loop condition `i < array.length` (tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol#80) should use cached array length instead of referencing `length` member of the storage array. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_4_25_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_4_25_constant_sol__0.txt new file mode 100644 index 000000000..d99f65c7d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_4_25_constant_sol__0.txt @@ -0,0 +1,2 @@ +Constant.test_assembly_bug() (tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol#22-24) is declared view but contains assembly code + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_5_16_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_5_16_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_6_11_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_6_11_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_7_6_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsAsm_0_7_6_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_4_25_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_4_25_constant_sol__0.txt new file mode 100644 index 000000000..67c19d0ab --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_4_25_constant_sol__0.txt @@ -0,0 +1,6 @@ +Constant.test_constant_bug() (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#9-11) is declared view but changes state variables: + - Constant.a (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#3) + +Constant.test_view_bug() (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#5-7) is declared view but changes state variables: + - Constant.a (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_5_16_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_5_16_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_6_11_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_6_11_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_7_6_constant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantFunctionsState_0_7_6_constant_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_4_25_pragma_0_4_25_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_4_25_pragma_0_4_25_sol__0.txt new file mode 100644 index 000000000..0d0deaae0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_4_25_pragma_0_4_25_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.4.24', '^0.4.25'] + - ^0.4.24 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#1) + - ^0.4.25 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_5_16_pragma_0_5_16_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_5_16_pragma_0_5_16_sol__0.txt new file mode 100644 index 000000000..a619f1ed0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_5_16_pragma_0_5_16_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.5.15', '^0.5.16'] + - ^0.5.15 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#1) + - ^0.5.16 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_6_11_pragma_0_6_11_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_6_11_pragma_0_6_11_sol__0.txt new file mode 100644 index 000000000..af468f3ba --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_6_11_pragma_0_6_11_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.6.10', '^0.6.11'] + - ^0.6.10 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#1) + - ^0.6.11 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_7_6_pragma_0_7_6_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_7_6_pragma_0_7_6_sol__0.txt new file mode 100644 index 000000000..83b79b494 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ConstantPragma_0_7_6_pragma_0_7_6_sol__0.txt @@ -0,0 +1,5 @@ +Different versions of Solidity are used: + - Version used: ['^0.7.5', '^0.7.6'] + - ^0.7.5 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#1) + - ^0.7.6 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol#1) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_4_25_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_4_25_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..9a08cc149 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_4_25_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_5_16_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_5_16_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..461b4e1ad --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_5_16_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_6_11_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_6_11_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..7be83ec8c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_6_11_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_7_6_controlled_delegatecall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_7_6_controlled_delegatecall_sol__0.txt new file mode 100644 index 000000000..bc58c9d2e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ControlledDelegateCall_0_7_6_controlled_delegatecall_sol__0.txt @@ -0,0 +1,6 @@ +C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#19) + +C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id + - addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_4_25_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_4_25_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..7b114acb7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_4_25_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#7) + +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_5_16_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_5_16_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..6d2fd27e1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_5_16_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#7) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_6_11_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_6_11_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..d7ca011c8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_6_11_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#22) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_7_6_multiple_costly_operations_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_7_6_multiple_costly_operations_in_loop_sol__0.txt new file mode 100644 index 000000000..da2804728 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CostlyOperationsInLoop_0_7_6_multiple_costly_operations_in_loop_sol__0.txt @@ -0,0 +1,12 @@ +CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#42) + +CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop: + - state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#7) + +CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#31) + +CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop: + - state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#22) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_4_25_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_4_25_const_state_variables_sol__0.txt new file mode 100644 index 000000000..0f5b8fb98 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_4_25_const_state_variables_sol__0.txt @@ -0,0 +1,12 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#14) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#26) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#7) should be constant + +MyConc.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#42) should be constant + +MyConc.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#43) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#10) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_5_16_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_5_16_const_state_variables_sol__0.txt new file mode 100644 index 000000000..89560ac47 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_5_16_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +MyConc.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#44) should be constant + +A.text2 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#14) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#26) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#7) should be constant + +MyConc.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#42) should be constant + +MyConc.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#43) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#10) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_6_11_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_6_11_const_state_variables_sol__0.txt new file mode 100644 index 000000000..68bfc2ddc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_6_11_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#12) should be constant + +Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#41) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#24) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#5) should be constant + +Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#40) should be constant + +Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#42) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#8) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_7_6_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_7_6_const_state_variables_sol__0.txt new file mode 100644 index 000000000..581ee43f7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_7_6_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#12) should be constant + +Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#41) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#24) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#5) should be constant + +Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#40) should be constant + +Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#42) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#8) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_8_0_const_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_8_0_const_state_variables_sol__0.txt new file mode 100644 index 000000000..c18aa2fe8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeConstant_0_8_0_const_state_variables_sol__0.txt @@ -0,0 +1,14 @@ +A.text2 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#12) should be constant + +Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#41) should be constant + +B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#24) should be constant + +A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#5) should be constant + +Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#40) should be constant + +Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#42) should be constant + +A.test (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#8) should be constant + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_4_25_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_4_25_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_5_16_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_5_16_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_6_11_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_6_11_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..4c46222f9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_6_11_immut_state_variables_sol__0.txt @@ -0,0 +1,10 @@ +Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#47) should be immutable + +Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#44) should be immutable + +Bad.should_be_immutable_4 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#46) should be immutable + +Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#43) should be immutable + +Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#45) should be immutable + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_7_6_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_7_6_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..36409f9b9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_7_6_immut_state_variables_sol__0.txt @@ -0,0 +1,10 @@ +Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#47) should be immutable + +Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#44) should be immutable + +Bad.should_be_immutable_4 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#46) should be immutable + +Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#43) should be immutable + +Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#45) should be immutable + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_8_0_immut_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_8_0_immut_state_variables_sol__0.txt new file mode 100644 index 000000000..9c8fc9f63 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CouldBeImmutable_0_8_0_immut_state_variables_sol__0.txt @@ -0,0 +1,8 @@ +Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#46) should be immutable + +Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#44) should be immutable + +Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#43) should be immutable + +Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#45) should be immutable + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_HighCyclomaticComplexity_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_HighCyclomaticComplexity_sol__0.txt new file mode 100644 index 000000000..f013da4cd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_HighCyclomaticComplexity_sol__0.txt @@ -0,0 +1,2 @@ +HighCyclomaticComplexity.highCC() (tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#17-31) has a high cyclomatic complexity (12). + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_LowCyclomaticComplexity_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_CyclomaticComplexity_0_8_16_LowCyclomaticComplexity_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DeadCode_0_8_0_dead_code_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DeadCode_0_8_0_dead_code_sol__0.txt new file mode 100644 index 000000000..c893114cf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DeadCode_0_8_0_dead_code_sol__0.txt @@ -0,0 +1,6 @@ +Test4.unused_but_shadowed() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#26-28) is never used and should be removed + +Test.unused() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#2-4) is never used and should be removed + +Test2.unused_but_shadowed() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#10-12) is never used and should be removed + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_4_25_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_4_25_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..a64167702 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_4_25_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#28) + +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_5_16_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_5_16_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..e6ea14e79 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_5_16_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#28) + +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#21) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_6_11_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_6_11_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..ce50766fe --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_6_11_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#21) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#28) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_7_6_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_7_6_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..9d4decf4d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_7_6_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#28) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#7) + +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_8_0_delegatecall_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_8_0_delegatecall_loop_sol__0.txt new file mode 100644 index 000000000..d3d9f047c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DelegatecallInLoop_0_8_0_delegatecall_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#21) + +C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#28) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DeprecatedStandards_0_4_25_deprecated_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DeprecatedStandards_0_4_25_deprecated_calls_sol__0.txt new file mode 100644 index 000000000..9a10c2971 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DeprecatedStandards_0_4_25_deprecated_calls_sol__0.txt @@ -0,0 +1,6 @@ +Deprecated standard detected THROW (tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#7): + - Usage of "throw" should be replaced with "revert()" + +Deprecated standard detected msg.gas == msg.value (tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#5): + - Usage of "msg.gas" should be replaced with "gasleft()" + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_4_25_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_4_25_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..95537a3a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_4_25_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_5_16_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_5_16_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..0ae4d354a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_5_16_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_6_11_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_6_11_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..54b35708c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_6_11_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_7_6_divide_before_multiply_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_7_6_divide_before_multiply_sol__0.txt new file mode 100644 index 000000000..37dc22862 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DivideBeforeMultiply_0_7_6_divide_before_multiply_sol__0.txt @@ -0,0 +1,3 @@ +A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division: + - (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..e800ed951 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..aa20b6983 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..8443c4fb7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_4_25_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..deab568b6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..df4ea295c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..0471fd697 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_5_16_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..d5d492fe7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..ad02ccd6f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..74ad8a93d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_6_11_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..6eab54252 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..842252b1b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..2b8cac108 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_7_6_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_collision_sol__0.txt new file mode 100644 index 000000000..665130448 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_state_var_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_state_var_collision_sol__0.txt new file mode 100644 index 000000000..4ff75df8e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_state_var_collision_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_wrong_return_type_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_wrong_return_type_sol__0.txt new file mode 100644 index 000000000..6f03f9d19 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_DomainSeparatorCollision_0_8_0_permit_domain_wrong_return_type_sol__0.txt @@ -0,0 +1,2 @@ +The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_EncodePackedCollision_0_7_6_encode_packed_collision_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_EncodePackedCollision_0_7_6_encode_packed_collision_sol__0.txt new file mode 100644 index 000000000..af7269fcf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_EncodePackedCollision_0_7_6_encode_packed_collision_sol__0.txt @@ -0,0 +1,15 @@ +EncodePackedCollision.bad4(bytes,bytes) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#34-36) calls abi.encodePacked() with multiple dynamic arguments: + - packed = abi.encodePacked(a,a2,a3,a) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#35) + +EncodePackedCollision.bad2(string,uint256[]) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#24-26) calls abi.encodePacked() with multiple dynamic arguments: + - packed = abi.encodePacked(stra,arra) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#25) + +EncodePackedCollision.bad3_get_hash_for_signature(string,string) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#29-31) calls abi.encodePacked() with multiple dynamic arguments: + - keccak256(bytes)(abi.encodePacked(name,doc)) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#30) + +EncodePackedCollision.bad0(string,string) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#14-16) calls abi.encodePacked() with multiple dynamic arguments: + - packed = abi.encodePacked(stra,strb) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#15) + +EncodePackedCollision.bad1(string,bytes) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#19-21) calls abi.encodePacked() with multiple dynamic arguments: + - packed = abi.encodePacked(stra,bytesa) (tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_3_sol__0.txt new file mode 100644 index 000000000..71bdafede --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_3_sol__0.txt @@ -0,0 +1,9 @@ +bad2(uint256[]) should be declared external: + - Test.bad2(uint256[]) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#8) + +bad(bytes) should be declared external: + - Test.bad(bytes) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#7) + +bad3(string) should be declared external: + - Test.bad3(string) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_4_25_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_3_sol__0.txt new file mode 100644 index 000000000..a0144a084 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_3_sol__0.txt @@ -0,0 +1,20 @@ +bad4(string) should be declared external: + - Test.bad4(string) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#18) +Moreover, the following function parameters should change its data location: +x location should be calldata + +bad3(Test.testStruct) should be declared external: + - Test.bad3(Test.testStruct) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#17) +Moreover, the following function parameters should change its data location: +x location should be calldata + +bad2(uint256[]) should be declared external: + - Test.bad2(uint256[]) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#16) +Moreover, the following function parameters should change its data location: +x location should be calldata + +bad(bytes) should be declared external: + - Test.bad(bytes) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#15) +Moreover, the following function parameters should change its data location: +x location should be calldata + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_5_16_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_3_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_6_11_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_2_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_3_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_3_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ExternalFunction_0_7_6_external_function_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_4_25_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_4_25_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..d289faead --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_4_25_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_5_16_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_5_16_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..b28972700 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_5_16_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_6_11_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_6_11_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..234059c8d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_6_11_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_7_6_function_init_state_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_7_6_function_init_state_variables_sol__0.txt new file mode 100644 index 000000000..81a654d43 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_FunctionInitializedState_0_7_6_function_init_state_variables_sol__0.txt @@ -0,0 +1,15 @@ +StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable: + - z3 + 5 + +StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable: + - set() + +StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable: + - 5 + get() + +StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable: + - (10 + (5 + get())) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_4_25_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_4_25_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..305758478 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_4_25_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_5_16_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_5_16_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..19f532fd7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_5_16_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_6_11_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_6_11_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..cfd549baa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_6_11_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_7_6_incorrect_erc20_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_7_6_incorrect_erc20_interface_sol__0.txt new file mode 100644 index 000000000..f1d77d1bd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC20InterfaceDetection_0_7_6_incorrect_erc20_interface_sol__0.txt @@ -0,0 +1,12 @@ +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#5) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#6) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_4_25_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_4_25_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..b3de59687 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_4_25_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_5_16_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_5_16_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..584c40378 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_5_16_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_6_11_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_6_11_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..5373d72cc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_6_11_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_7_6_incorrect_erc721_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_7_6_incorrect_erc721_interface_sol__0.txt new file mode 100644 index 000000000..415adcb7c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectERC721InterfaceDetection_0_7_6_incorrect_erc721_interface_sol__0.txt @@ -0,0 +1,20 @@ +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#14) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#12) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#10) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#7) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#8) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#11) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#4) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#13) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#9) + +Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#15) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_4_25_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_4_25_static_sol__0.txt new file mode 100644 index 000000000..a1a384559 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_4_25_static_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.4.25 is not recommended for deployment + +Pragma version0.4.25 (tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_14_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_14_static_sol__0.txt new file mode 100644 index 000000000..c9f67a00d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_14_static_sol__0.txt @@ -0,0 +1,3 @@ +Pragma version0.5.14 (tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol#1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) + +solc-0.5.14 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_1_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_1_sol__0.txt new file mode 100644 index 000000000..eaf6d3bef --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_1_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version^0.5.15 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#1) allows old versions + +solc-0.5.16 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_2_sol__0.txt new file mode 100644 index 000000000..4fbde7008 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_dynamic_2_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version>=0.5.0<0.6.0 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#1) allows old versions + +solc-0.5.16 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_static_sol__0.txt new file mode 100644 index 000000000..3348b38bf --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_5_16_static_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.5.16 is not recommended for deployment + +Pragma version0.5.16 (tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_10_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_10_static_sol__0.txt new file mode 100644 index 000000000..b019ea235 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_10_static_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.6.10 is not recommended for deployment + +Pragma version0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_1_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_1_sol__0.txt new file mode 100644 index 000000000..d9882ee92 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_1_sol__0.txt @@ -0,0 +1,4 @@ +solc-0.6.11 is not recommended for deployment + +Pragma version^0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#1) allows old versions + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_2_sol__0.txt new file mode 100644 index 000000000..9e0b51f1c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_dynamic_2_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version>=0.6.0<0.7.0 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#1) allows old versions + +solc-0.6.11 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_static_sol__0.txt new file mode 100644 index 000000000..5dfddac9e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_6_11_static_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version0.6.11 (tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#1) allows old versions + +solc-0.6.11 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_4_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_4_static_sol__0.txt new file mode 100644 index 000000000..954505f8c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_4_static_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#1) allows old versions + +solc-0.7.4 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_1_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_1_sol__0.txt new file mode 100644 index 000000000..157db71ce --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_1_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version^0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#1) allows old versions + +solc-0.7.6 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_2_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_2_sol__0.txt new file mode 100644 index 000000000..53628ace1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_dynamic_2_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version>=0.7.0<=0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#1) is too complex + +solc-0.7.6 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_static_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_static_sol__0.txt new file mode 100644 index 000000000..6d4297f2b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectSolc_0_7_6_static_sol__0.txt @@ -0,0 +1,4 @@ +Pragma version0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#1) allows old versions + +solc-0.7.6 is not recommended for deployment + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_4_25_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_4_25_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..49a70d163 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_4_25_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#48) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#38) + +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#26) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#124) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#54) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#22) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#128) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#33) + +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#61) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#68) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#132) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#43) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_5_16_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_5_16_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..56f7c2ef9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_5_16_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#48) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#33) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#38) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#68) + +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#26) + +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#61) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#54) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#128) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#43) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#22) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#124) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#132) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_6_11_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_6_11_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..11bb0e3fc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_6_11_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#61) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#22) + +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#48) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#68) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#124) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#43) + +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#26) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#128) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#54) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#38) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#132) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#33) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_7_6_incorrect_equality_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_7_6_incorrect_equality_sol__0.txt new file mode 100644 index 000000000..506857199 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectStrictEquality_0_7_6_incorrect_equality_sol__0.txt @@ -0,0 +1,36 @@ +ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#25-27) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#26) + +TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#66-71) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#68) + +ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#21-23) uses a dangerous strict equality: + - require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#22) + +TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#37-40) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#38) + +TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#123-125) uses a dangerous strict equality: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#124) + +TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#47-50) uses a dangerous strict equality: + - require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#48) + +TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#52-57) uses a dangerous strict equality: + - balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#54) + +TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#32-35) uses a dangerous strict equality: + - require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#33) + +TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#131-133) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#132) + +TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#59-64) uses a dangerous strict equality: + - 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#61) + +TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#42-45) uses a dangerous strict equality: + - require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#43) + +TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#127-129) uses a dangerous strict equality: + - require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#128) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUnaryExpressionDetection_0_4_25_invalid_unary_expression_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUnaryExpressionDetection_0_4_25_invalid_unary_expression_sol__0.txt new file mode 100644 index 000000000..bd44c2fa3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUnaryExpressionDetection_0_4_25_invalid_unary_expression_sol__0.txt @@ -0,0 +1,8 @@ +C.slitherConstructorVariables() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#1-15) uses an dangerous unary operator: c = (b = + 1) (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) + +C.f() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = + 144444 (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#8) + +C.c (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) uses an dangerous unary operator: (b = + 1) + +C.f() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = (x = + 1) (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUsingFor_0_8_17_IncorrectUsingForTopLevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUsingFor_0_8_17_IncorrectUsingForTopLevel_sol__0.txt new file mode 100644 index 000000000..518fba20d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_IncorrectUsingFor_0_8_17_IncorrectUsingForTopLevel_sol__0.txt @@ -0,0 +1,24 @@ +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#84 is incorrect - no matching function for bytes17[] found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#85 is incorrect - no matching function for uint256 found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#90 is incorrect - no matching function for mapping(int256 => uint128) found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#86 is incorrect - no matching function for int256 found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#89 is incorrect - no matching function for E2 found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#93 is incorrect - no matching function for bytes[][] found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#92 is incorrect - no matching function for string[][] found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#91 is incorrect - no matching function for mapping(int128 => uint256) found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#87 is incorrect - no matching function for bytes18 found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#88 is incorrect - no matching function for S2 found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#83 is incorrect - no matching function for C3 found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + +using-for statement at tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#94 is incorrect - no matching function for custom_int found in L (tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol#48-64). + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_4_25_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_4_25_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..0f98475aa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_4_25_shadowing_local_variable_sol__0.txt @@ -0,0 +1,20 @@ +FurtherExtendedContract.shadowingParent(uint256).x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#17) (state variable) + - ExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#9) (state variable) + - BaseContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#4) (state variable) + +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.v() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#20-23) (modifier) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_5_16_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_5_16_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..56d139bea --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_5_16_shadowing_local_variable_sol__0.txt @@ -0,0 +1,23 @@ +FurtherExtendedContract.shadowingParent(uint256).x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#17) (state variable) + - ExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#9) (state variable) + - BaseContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#4) (state variable) + +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.v() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#20-23) (modifier) + +LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#34) shadows: + - LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#33) (return variable) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_6_11_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_6_11_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..a52ac48af --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_6_11_shadowing_local_variable_sol__0.txt @@ -0,0 +1,21 @@ +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.v() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#20-23) (modifier) + +FurtherExtendedContract.shadowingParent(uint256).__x (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.__x (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#17) (state variable) + +LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#34) shadows: + - LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#33) (return variable) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_7_6_shadowing_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_7_6_shadowing_local_variable_sol__0.txt new file mode 100644 index 000000000..e618b988c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LocalShadowing_0_7_6_shadowing_local_variable_sol__0.txt @@ -0,0 +1,21 @@ +LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#30) shadows: + - LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#29) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#5) (state variable) + +FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.v() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#13) (event) + +FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#20-23) (modifier) + +FurtherExtendedContract.shadowingParent(uint256).__x (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - FurtherExtendedContract.__x (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#17) (state variable) + +LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#34) shadows: + - LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#33) (return variable) + +FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows: + - ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#11) (function) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_4_25_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_4_25_locked_ether_sol__0.txt new file mode 100644 index 000000000..680f77d0d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_4_25_locked_ether_sol__0.txt @@ -0,0 +1,10 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#37) has payable functions: + - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + +Contract locking ether found: + Contract UnlockedAssembly (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#27-35) has payable functions: + - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_5_16_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_5_16_locked_ether_sol__0.txt new file mode 100644 index 000000000..961ba8c48 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_5_16_locked_ether_sol__0.txt @@ -0,0 +1,10 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#37) has payable functions: + - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + +Contract locking ether found: + Contract UnlockedAssembly (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#27-35) has payable functions: + - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_6_11_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_6_11_locked_ether_sol__0.txt new file mode 100644 index 000000000..079104879 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_6_11_locked_ether_sol__0.txt @@ -0,0 +1,5 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#36) has payable functions: + - Locked.receive_eth() (tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_7_6_locked_ether_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_7_6_locked_ether_sol__0.txt new file mode 100644 index 000000000..14835871f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LockedEther_0_7_6_locked_ether_sol__0.txt @@ -0,0 +1,5 @@ +Contract locking ether found: + Contract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#36) has payable functions: + - Locked.receive_eth() (tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#4-6) + But does not have a function to withdraw the ether + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_4_25_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_4_25_low_level_calls_sol__0.txt new file mode 100644 index 000000000..e5e424bb3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_4_25_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#5-7): + - _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_5_16_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_5_16_low_level_calls_sol__0.txt new file mode 100644 index 000000000..87ad6230d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_5_16_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#5-7): + - _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_6_11_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_6_11_low_level_calls_sol__0.txt new file mode 100644 index 000000000..0e0aa3a06 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_6_11_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#5-7): + - _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_7_6_low_level_calls_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_7_6_low_level_calls_sol__0.txt new file mode 100644 index 000000000..e0894ae32 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_LowLevelCalls_0_7_6_low_level_calls_sol__0.txt @@ -0,0 +1,3 @@ +Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#5-7): + - _receiver.call{gas: 7777,value: msg.value}() (tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#6) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_4_25_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_4_25_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..902f96668 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_4_25_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#10) + +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#28-31) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#30) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_5_16_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_5_16_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..fec236e1c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_5_16_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#10) + +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#31) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_6_11_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_6_11_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..7f0372c36 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_6_11_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#31) + +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_7_6_MappingDeletion_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_7_6_MappingDeletion_sol__0.txt new file mode 100644 index 000000000..f519a046f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MappingDeletionDetection_0_7_6_MappingDeletion_sol__0.txt @@ -0,0 +1,6 @@ +Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#17-20) which contains a mapping: + -delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#31) + +Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#5-7) which contains a mapping: + -delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_4_25_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_4_25_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..ddefb04a7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_4_25_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#25) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#16) + +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#20) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_5_16_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_5_16_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..db98d2ad7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_5_16_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#20) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#16) + +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#25) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_6_11_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_6_11_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..afd318d25 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_6_11_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#25) + +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#20) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_7_6_missing_events_access_control_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_7_6_missing_events_access_control_sol__0.txt new file mode 100644 index 000000000..d77f25818 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsAccessControl_0_7_6_missing_events_access_control_sol__0.txt @@ -0,0 +1,9 @@ +Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#19-21) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#20) + +Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#15-17) should emit an event for: + - owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#16) + +Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#23-26) should emit an event for: + - owner = newOwner (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#25) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_4_25_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_4_25_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..8963a7674 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_4_25_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#31) + +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#23) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_5_16_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_5_16_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..2e87b44e1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_5_16_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#31) + +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#23) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_6_11_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_6_11_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..5bb5c5f32 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_6_11_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#23) + +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#31) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_7_6_missing_events_arithmetic_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_7_6_missing_events_arithmetic_sol__0.txt new file mode 100644 index 000000000..1fb9f8a4b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingEventsArithmetic_0_7_6_missing_events_arithmetic_sol__0.txt @@ -0,0 +1,6 @@ +Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#30-32) should emit an event for: + - iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#31) + +Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#22-24) should emit an event for: + - uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#23) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_4_25_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_4_25_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..d57ab2986 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_4_25_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_5_16_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_5_16_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..60f1bc78b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_5_16_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_6_11_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_6_11_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..8a05975fd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_6_11_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_7_6_unimplemented_interface_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_7_6_unimplemented_interface_sol__0.txt new file mode 100644 index 000000000..81f48f4dc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingInheritance_0_7_6_unimplemented_interface_sol__0.txt @@ -0,0 +1,2 @@ +Something (tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#1-3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_4_25_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_4_25_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..2ecb471e9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_4_25_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#29) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#24) + +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#20) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#11) + +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_5_16_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_5_16_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..0f6616b71 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_5_16_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#20) + +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#29) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#11) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#24) + +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_6_11_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_6_11_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..719ff30c3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_6_11_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#20) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#11) + +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#16) + +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#29) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#24) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_7_6_missing_zero_address_validation_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_7_6_missing_zero_address_validation_sol__0.txt new file mode 100644 index 000000000..225c1be4d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MissingZeroAddressValidation_0_7_6_missing_zero_address_validation_sol__0.txt @@ -0,0 +1,16 @@ +C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#14) lacks a zero-check on : + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#15) + - addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#16) + +C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#23) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#24) + +C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#28) lacks a zero-check on : + - addr.call{value: msg.value}() (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#29) + +C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#19) lacks a zero-check on : + - addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#20) + +C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#10) lacks a zero-check on : + - owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_4_25_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_4_25_modifier_default_sol__0.txt new file mode 100644 index 000000000..365f1f397 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_4_25_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_5_16_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_5_16_modifier_default_sol__0.txt new file mode 100644 index 000000000..5f5a1b5f8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_5_16_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_6_11_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_6_11_modifier_default_sol__0.txt new file mode 100644 index 000000000..b4d5bf3e4 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_6_11_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_7_6_modifier_default_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_7_6_modifier_default_sol__0.txt new file mode 100644 index 000000000..bba830c3b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ModifierDefaultDetection_0_7_6_modifier_default_sol__0.txt @@ -0,0 +1,3 @@ +Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#30-41) does not always execute _; or revert +Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#18-22) does not always execute _; or revert +Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#2-6) does not always execute _; or revert diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_4_25_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_4_25_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..b694677bd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_4_25_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#24) + +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_5_16_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_5_16_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..66cd57b2b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_5_16_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#24) + +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#18) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_6_11_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_6_11_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..4ae4ca2a8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_6_11_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#18) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#7) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#24) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_7_6_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_7_6_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..0ec9098f7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_7_6_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#18) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#24) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_8_0_msg_value_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_8_0_msg_value_loop_sol__0.txt new file mode 100644 index 000000000..6f36e2a63 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MsgValueInLoop_0_8_0_msg_value_loop_sol__0.txt @@ -0,0 +1,6 @@ +C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#18) + +C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#24) + +C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#7) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_4_25_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_4_25_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..534098851 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_4_25_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: destinations[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#26) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: destinations[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#35) + +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: a.transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#46) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: destinations_base[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_5_16_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_5_16_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..ffa813d87 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_5_16_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#46) + +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#26) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#35) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_6_11_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_6_11_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..4601b6909 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_6_11_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#46) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#11) + +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#26) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#35) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_7_6_multiple_calls_in_loop_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_7_6_multiple_calls_in_loop_sol__0.txt new file mode 100644 index 000000000..7d67fde52 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleCallsInLoop_0_7_6_multiple_calls_in_loop_sol__0.txt @@ -0,0 +1,8 @@ +CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#26) + +CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#46) + +CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#11) + +CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#35) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_MultipleConstructorSchemes_0_4_22_multiple_constructor_schemes_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_MultipleConstructorSchemes_0_4_22_multiple_constructor_schemes_sol__0.txt new file mode 100644 index 000000000..7d84e8e24 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_MultipleConstructorSchemes_0_4_22_multiple_constructor_schemes_sol__0.txt @@ -0,0 +1,4 @@ +A (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#1-14) contains multiple constructors in the same contract: + - A.constructor() (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#3-5) + - A.A() (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#6-8) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_naming_convention_sol__0.txt new file mode 100644 index 000000000..ed4177ca1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#56) is not in mixedCase + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Event naming.event_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#23) is not in CapWords + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_4_25_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_naming_convention_sol__0.txt new file mode 100644 index 000000000..35c11193f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#56) is not in mixedCase + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Event naming.event_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#23) is not in CapWords + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_5_16_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_naming_convention_sol__0.txt new file mode 100644 index 000000000..f692e211b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#56) is not in mixedCase + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Event naming.event_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#23) is not in CapWords + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_6_11_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_naming_convention_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_naming_convention_sol__0.txt new file mode 100644 index 000000000..af17cabe8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_naming_convention_sol__0.txt @@ -0,0 +1,32 @@ +Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#14-16) is not in CapWords + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#69) is not in mixedCase + +Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#69) is single letter l, O, or I, which should not be used + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#68) is not in mixedCase + +Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#11) is not in mixedCase + +Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES + +Contract naming (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#3-48) is not in CapWords + +Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#6) is not in CapWords + +Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#59) is not in mixedCase + +Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#56) is not in mixedCase + +Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#68) is single letter l, O, or I, which should not be used + +Event naming.event_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#23) is not in CapWords + +Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#41-43) is not in mixedCase + +Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#30-33) is not in mixedCase + +Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#67) is single letter l, O, or I, which should not be used + +Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#35) is not in mixedCase + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_no_warning_for_public_constants_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_NamingConvention_0_7_6_no_warning_for_public_constants_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_PredeclarationUsageLocal_0_4_25_predeclaration_usage_local_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_PredeclarationUsageLocal_0_4_25_predeclaration_usage_local_sol__0.txt new file mode 100644 index 000000000..264e41f14 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_PredeclarationUsageLocal_0_4_25_predeclaration_usage_local_sol__0.txt @@ -0,0 +1,10 @@ +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i -- (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14) + +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: x += i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#15) + +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i > 0 (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14) + +Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i = 10 (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14) + +Variable 'C.f(uint256).x (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#5)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: y = x + 9 + z (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ProtectedVariables_0_8_2_comment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ProtectedVariables_0_8_2_comment_sol__0.txt new file mode 100644 index 000000000..2086c6e7f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ProtectedVariables_0_8_2_comment_sol__0.txt @@ -0,0 +1,4 @@ +Internal.buggy() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#47-49) should have Internal.onlyOwner() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#42-45) to protect Internal.owner (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#38) + +ReentrancyAndWrite.set_not_protected() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#31-33) should have ReentrancyAndWrite.onlyOwner() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#11-14) to protect ReentrancyAndWrite.external_contract (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_PublicMappingNested_0_4_25_public_mappings_nested_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_PublicMappingNested_0_4_25_public_mappings_nested_sol__0.txt new file mode 100644 index 000000000..74e376f8f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_PublicMappingNested_0_4_25_public_mappings_nested_sol__0.txt @@ -0,0 +1,2 @@ +Bug.testMapping (tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol#14) is a public mapping with nested variables + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_4_25_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_4_25_redundant_statements_sol__0.txt new file mode 100644 index 000000000..f204ff512 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_4_25_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_5_16_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_5_16_redundant_statements_sol__0.txt new file mode 100644 index 000000000..f70402cb9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_5_16_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_6_11_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_6_11_redundant_statements_sol__0.txt new file mode 100644 index 000000000..2264d01e5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_6_11_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_7_6_redundant_statements_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_7_6_redundant_statements_sol__0.txt new file mode 100644 index 000000000..915421b3f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RedundantStatements_0_7_6_redundant_statements_sol__0.txt @@ -0,0 +1,12 @@ +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#12)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "test (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#14)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#13)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#8)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "bool (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#7)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + +Redundant expression "uint256 (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#6)" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_4_25_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_4_25_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..fdc46f6af --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_4_25_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#23-27): + External calls: + - success = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#24) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#26) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#16-21): + External calls: + - ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#20) + +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#46-51): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#47) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#60) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#48) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#48) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#49) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68) + +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#40-44): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#41) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#60) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#42) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#29-38): + External calls: + - success = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#30) + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#32) + External calls sending eth: + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#32) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#33) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#53-57): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#54) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#55) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_5_16_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_5_16_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..744eccc92 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_5_16_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#41-45): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#42) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#61) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#43) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#16-22): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#21) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#54-58): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#55) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#56) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#47-52): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#48) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#61) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#50) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#24-28): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#25) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#27) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#30-39): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#31) + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#33) + External calls sending eth: + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#33) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#34) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_6_11_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_6_11_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..400c1c00d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_6_11_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#47-52): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#48) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#61) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#49) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#50) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#41-45): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#42) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#61) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#43) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#30-39): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#31) + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#33) + External calls sending eth: + - address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#33) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#34) + +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#24-28): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#25) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#27) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#54-58): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#55) + - address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#56) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#16-22): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_7_6_reentrancy_benign_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_7_6_reentrancy_benign_sol__0.txt new file mode 100644 index 000000000..5339f8c4a --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyBenign_0_7_6_reentrancy_benign_sol__0.txt @@ -0,0 +1,50 @@ +Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#41-45): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#42) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#61) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#43) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#30-39): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#31) + - address(target).call{value: 1000}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#33) + External calls sending eth: + - address(target).call{value: 1000}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#33) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#34) + +Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#54-58): + External calls: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#55) + - address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#56) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#47-52): + External calls: + - externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#48) + - address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#61) + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#49) + - address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65) + External calls sending eth: + - ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#49) + - address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65) + State variables written after the call(s): + - varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#50) + - anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69) + +Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#24-28): + External calls: + - (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#25) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#27) + +Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#16-22): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#17) + State variables written after the call(s): + - counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#21) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_DAO_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_DAO_sol__0.txt new file mode 100644 index 000000000..2d6c2b820 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_DAO_sol__0.txt @@ -0,0 +1,72 @@ +Reentrancy in TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#318-332): + External calls: + - extraBalance.balance >= extraBalance.accumulatedInput() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#321) + - extraBalance.payOut(address(this),extraBalance.accumulatedInput()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#322) + - msg.sender.call.value(weiGiven[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#325) + External calls sending eth: + - msg.sender.call.value(weiGiven[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#325) + State variables written after the call(s): + - weiGiven[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#329) + TokenCreationInterface.weiGiven (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#251) can be used in cross function reentrancies: + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#318-332) + +Reentrancy in DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937): + External calls: + - ! isRecipientAllowed(p.recipient) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#881) + - allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1159-1163) + - ! p.recipient.call.value(p.amount)(_transactionData) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#915) + External calls sending eth: + - ! p.creator.send(p.proposalDeposit) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#904) + - ! p.recipient.call.value(p.amount)(_transactionData) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#915) + State variables written after the call(s): + - p.proposalPassed = true (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#918) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#820-850) + - closeProposal(_proposalID) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#933) + - p.open = false (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#944) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#820-850) + - rewardToken[address(this)] += p.amount (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#928) + DAOInterface.rewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#410) can be used in cross function reentrancies: + - DAO.changeProposalDeposit(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1139-1146) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.minQuorum(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1174-1178) + - DAO.newContract(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1022-1034) + - DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1037-1057) + - DAOInterface.rewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#410) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - closeProposal(_proposalID) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#933) + - sumOfProposalDeposits -= p.proposalDeposit (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#943) + DAOInterface.sumOfProposalDeposits (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#436) can be used in cross function reentrancies: + - DAO.actualBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1169-1171) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020) + - totalRewardToken += p.amount (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#929) + DAOInterface.totalRewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#412) can be used in cross function reentrancies: + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937) + - DAO.isRecipientAllowed(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1158-1167) + - DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1037-1057) + - DAOInterface.totalRewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#412) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..4562e1bd7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_sol__0.txt new file mode 100644 index 000000000..81143018c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_4_25_reentrancy_sol__0.txt @@ -0,0 +1,32 @@ +Reentrancy in Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80): + External calls: + - msg.sender.call.value(amount / 2)() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#77) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#78) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#15-22) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#33-41) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#43-50) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#52-60) + - Reentrancy.withdrawBalance_fixed_4() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#61-72) + - Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80) + +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31): + External calls: + - ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#27) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#30) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#15-22) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#33-41) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#43-50) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#52-60) + - Reentrancy.withdrawBalance_fixed_4() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#61-72) + - Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..eea2c4711 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_sol__0.txt new file mode 100644 index 000000000..d77726404 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_5_16_reentrancy_sol__0.txt @@ -0,0 +1,28 @@ +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33): + External calls: + - (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#28) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#32) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64) + +Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64): + External calls: + - (ret,mem) = msg.sender.call.value(amount)() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#60) + State variables written after the call(s): + - userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#62) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..c4cda5f34 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_sol__0.txt new file mode 100644 index 000000000..a3e4ec83d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_6_11_reentrancy_sol__0.txt @@ -0,0 +1,28 @@ +Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64): + External calls: + - (ret,mem) = msg.sender.call.value(amount)() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#60) + State variables written after the call(s): + - userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#62) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64) + +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33): + External calls: + - (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#28) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#32) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_indirect_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_indirect_sol__0.txt new file mode 100644 index 000000000..2be2ab3bb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_indirect_sol__0.txt @@ -0,0 +1,15 @@ +Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29): + External calls: + - require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#24) + External calls sending eth: + - msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#23) + State variables written after the call(s): + - eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#26) + Reentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#10) can be used in cross function reentrancies: + - Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#13-15) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29) + - token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#27) + Reentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#11) can be used in cross function reentrancies: + - Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#17-20) + - Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_sol__0.txt new file mode 100644 index 000000000..04098bd3f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_7_6_reentrancy_sol__0.txt @@ -0,0 +1,28 @@ +Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64): + External calls: + - (ret,mem) = msg.sender.call{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#60) + State variables written after the call(s): + - userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#62) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64) + +Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33): + External calls: + - (ret,mem) = msg.sender.call{value: userBalance[msg.sender]}() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#28) + State variables written after the call(s): + - userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#32) + Reentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies: + - Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#10-12) + - Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#15-23) + - Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#6-8) + - Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33) + - Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#35-44) + - Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#46-53) + - Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_filtered_comments_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_filtered_comments_sol__0.txt new file mode 100644 index 000000000..4485754d3 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_filtered_comments_sol__0.txt @@ -0,0 +1,9 @@ +Reentrancy in TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#10) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#11) + TestWithBug.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#6) can be used in cross function reentrancies: + - TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12) + - TestWithBug.withdrawFiltered(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#15-19) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_with_non_reentrant_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_with_non_reentrant_sol__0.txt new file mode 100644 index 000000000..ab510d0e5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEth_0_8_10_reentrancy_with_non_reentrant_sol__0.txt @@ -0,0 +1,32 @@ +Reentrancy in TestWithBugInternal.withdraw_internal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#62-66): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#64) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#65) + TestWithBugInternal.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#52) can be used in cross function reentrancies: + - TestWithBugInternal.withdraw_all_internal() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#72-76) + +Reentrancy in TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#13-17): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#15) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#16) + TestWithBug.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#7) can be used in cross function reentrancies: + - TestWithBug.withdraw_all() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#19-23) + +Reentrancy in TestBugWithPublicVariable.withdraw_internal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#122-126): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#124) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#125) + TestBugWithPublicVariable.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) can be used in cross function reentrancies: + - TestBugWithPublicVariable.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) + +Reentrancy in TestWithBugNonReentrantRead.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#138-142): + External calls: + - Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#140) + State variables written after the call(s): + - balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#141) + TestWithBugNonReentrantRead.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#132) can be used in cross function reentrancies: + - TestWithBugNonReentrantRead.read() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#146-149) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_5_16_reentrancy_events_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_5_16_reentrancy_events_sol__0.txt new file mode 100644 index 000000000..ffee9b383 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_5_16_reentrancy_events_sol__0.txt @@ -0,0 +1,6 @@ +Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#14-17): + External calls: + - c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#15) + Event emitted after the call(s): + - E() (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_6_11_reentrancy_events_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_6_11_reentrancy_events_sol__0.txt new file mode 100644 index 000000000..430371f7d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_6_11_reentrancy_events_sol__0.txt @@ -0,0 +1,6 @@ +Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#14-17): + External calls: + - c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#15) + Event emitted after the call(s): + - E() (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_7_6_reentrancy_events_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_7_6_reentrancy_events_sol__0.txt new file mode 100644 index 000000000..ad082c3a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyEvent_0_7_6_reentrancy_events_sol__0.txt @@ -0,0 +1,6 @@ +Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#14-17): + External calls: + - c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#15) + Event emitted after the call(s): + - E() (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_DAO_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_DAO_sol__0.txt new file mode 100644 index 000000000..1babf5659 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_DAO_sol__0.txt @@ -0,0 +1,171 @@ +Reentrancy in DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057): + External calls: + - reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1044-1046) + - ! DAOrewardAccount.payOut(dao.rewardAccount(),reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1048) + - ! DAOrewardAccount.payOut(dao,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1052) + State variables written after the call(s): + - DAOpaidOut[msg.sender] += reward (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1055) + DAOInterface.DAOpaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#423) can be used in cross function reentrancies: + - DAOInterface.DAOpaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#423) + - DAO.newContract(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1022-1034) + - DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + +Reentrancy in DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074): + External calls: + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - paidOut[_account] += reward (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1072) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + +Reentrancy in DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020): + External calls: + - p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#974) + - daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1196) + - withdrawRewardFor(msg.sender) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1015) + - (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065) + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - balances[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1017) + TokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies: + - Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97) + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108) + - Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - paidOut[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1018) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + - totalSupply -= balances[msg.sender] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1016) + TokenInterface.totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#45) can be used in cross function reentrancies: + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.minQuorum(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1174-1178) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - TokenInterface.totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#45) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + +Reentrancy in DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020): + External calls: + - p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#974) + - daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1196) + State variables written after the call(s): + - p.splitData[0].splitBalance = actualBalance() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#981) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - p.splitData[0].rewardToken = rewardToken[address(this)] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#982) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - p.splitData[0].totalSupply = totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#983) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - p.proposalPassed = true (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#984) + DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies: + - DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726) + - DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817) + - DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945) + - DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937) + - DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206) + - DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218) + - DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806) + - DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202) + - DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + +Reentrancy in DAO.transferFromWithoutReward(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1112-1121): + External calls: + - ! withdrawRewardFor(_from) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1118) + - (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065) + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - transferFrom(_from,_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1120) + - balances[_to] += _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#120) + - balances[_from] -= _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#121) + TokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies: + - Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97) + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108) + - Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - transferFrom(_from,_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1120) + - paidOut[_from] -= transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1133) + - paidOut[_to] += transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1134) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + +Reentrancy in DAO.transferWithoutReward(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1091-1095): + External calls: + - ! getMyReward() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1092) + - (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065) + - reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069) + - ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070) + State variables written after the call(s): + - transfer(_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1094) + - balances[msg.sender] -= _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#101) + - balances[_to] += _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#102) + TokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies: + - Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97) + - TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316) + - TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108) + - Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128) + - DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850) + - transfer(_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1094) + - paidOut[_from] -= transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1133) + - paidOut[_to] += transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1134) + DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies: + - DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) + - DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020) + - DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136) + - DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..fb9615c09 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_4_25_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22): + External calls: + - ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29): + External calls: + - success = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#26) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28) + - ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_no_reentrancy_staticcall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_no_reentrancy_staticcall_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..d1532be91 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_5_16_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#27) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29) + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_no_reentrancy_staticcall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_no_reentrancy_staticcall_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..e4edf64f8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_6_11_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#27) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29) + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_no_reentrancy_staticcall_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_no_reentrancy_staticcall_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_reentrancy_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_reentrancy_write_sol__0.txt new file mode 100644 index 000000000..ad043d2f8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_7_6_reentrancy_write_sol__0.txt @@ -0,0 +1,25 @@ +Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22) + State variables written after the call(s): + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43) + +Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34): + External calls: + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#31) + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33) + - (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22) + State variables written after the call(s): + - bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33) + - notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26) + ReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies: + - ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27) + - ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34) + - ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18) + - ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_8_2_comment_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReentrancyReadBeforeWritten_0_8_2_comment_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_21_reused_base_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_21_reused_base_constructor_sol__0.txt new file mode 100644 index 000000000..d3e7d064c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_21_reused_base_constructor_sol__0.txt @@ -0,0 +1,24 @@ +E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor C.C(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +F (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From F (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor B.B(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_25_reused_base_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_25_reused_base_constructor_sol__0.txt new file mode 100644 index 000000000..66c80dbbb --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ReusedBaseConstructor_0_4_25_reused_base_constructor_sol__0.txt @@ -0,0 +1,35 @@ +D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + +C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor C.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor B.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy: + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor C.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy: + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +F (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From F (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor B.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy: + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) contract definition + - From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition + - From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition + +E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy: + - From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition + - From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_4_25_right_to_left_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_4_25_right_to_left_override_sol__0.txt new file mode 100644 index 000000000..ac0099d48 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_4_25_right_to_left_override_sol__0.txt @@ -0,0 +1,3 @@ +tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96: + - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_5_16_right_to_left_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_5_16_right_to_left_override_sol__0.txt new file mode 100644 index 000000000..3c5060b6c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_5_16_right_to_left_override_sol__0.txt @@ -0,0 +1,3 @@ +tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96: + - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_6_11_right_to_left_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_6_11_right_to_left_override_sol__0.txt new file mode 100644 index 000000000..7e181d79d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_6_11_right_to_left_override_sol__0.txt @@ -0,0 +1,3 @@ +tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96: + - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_8_0_unicode_direction_override_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_8_0_unicode_direction_override_sol__0.txt new file mode 100644 index 000000000..6b4a48b5b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_RightToLeftOverride_0_8_0_unicode_direction_override_sol__0.txt @@ -0,0 +1,9 @@ +tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336: + - b' /*ok \xe2\x80\xaeaaa\xe2\x80\xaebbb\xe2\x80\xaeccc\xe2\x80\xacddd\xe2\x80\xaceee\xe2\x80\xac*/' + +tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348: + - b'\x80\xaebbb\xe2\x80\xaeccc\xe2\x80\xacddd\xe2\x80\xaceee\xe2\x80\xac*/' + +tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342: + - b'\x80\xaeaaa\xe2\x80\xaebbb\xe2\x80\xaeccc\xe2\x80\xacddd\xe2\x80\xaceee\xe2\x80\xac*/' + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_4_25_shadowing_abstract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_4_25_shadowing_abstract_sol__0.txt new file mode 100644 index 000000000..3e14058b0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_4_25_shadowing_abstract_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#7) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_5_16_shadowing_abstract_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_5_16_shadowing_abstract_sol__0.txt new file mode 100644 index 000000000..f3f6523ac --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_5_16_shadowing_abstract_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#7) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_public_gap_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_public_gap_variable_sol__0.txt new file mode 100644 index 000000000..de8db2897 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_public_gap_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.__gap (tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#7) shadows: + - BaseContract.__gap (tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShadowingAbstractDetection_0_7_5_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_4_25_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_4_25_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_5_16_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_5_16_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_6_11_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_6_11_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..354d90a13 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_6_11_shift_parameter_mixup_sol__0.txt @@ -0,0 +1,2 @@ +C.f() (tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#5) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_7_6_shift_parameter_mixup_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_7_6_shift_parameter_mixup_sol__0.txt new file mode 100644 index 000000000..1c4206ea0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_ShiftParameterMixup_0_7_6_shift_parameter_mixup_sol__0.txt @@ -0,0 +1,2 @@ +C.f() (tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#3-8) contains an incorrect shift operation: a = 8 >> a (tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#5) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_4_25_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_4_25_similar_variables_sol__0.txt new file mode 100644 index 000000000..7f6fa4da1 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_4_25_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_5_16_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_5_16_similar_variables_sol__0.txt new file mode 100644 index 000000000..70b5c329b --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_5_16_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_6_11_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_6_11_similar_variables_sol__0.txt new file mode 100644 index 000000000..efb92b5aa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_6_11_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_7_6_similar_variables_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_7_6_similar_variables_sol__0.txt new file mode 100644 index 000000000..67d482328 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_SimilarVarsDetection_0_7_6_similar_variables_sol__0.txt @@ -0,0 +1,2 @@ +Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#4) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_4_25_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_4_25_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..45b420ffe --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_4_25_shadowing_state_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#12) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_5_16_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_5_16_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..380a9d7bc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_5_16_shadowing_state_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#12) shadows: + - BaseContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#2) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_6_11_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_6_11_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_public_gap_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_public_gap_variable_sol__0.txt new file mode 100644 index 000000000..3c007c160 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_public_gap_variable_sol__0.txt @@ -0,0 +1,3 @@ +DerivedContract.__gap (tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#8) shadows: + - BaseContract.__gap (tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_5_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_6_shadowing_state_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StateShadowing_0_7_6_shadowing_state_variable_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_10_storage_signed_integer_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_10_storage_signed_integer_array_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_16_storage_signed_integer_array_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_StorageSignedIntegerArray_0_5_16_storage_signed_integer_array_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_4_25_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_4_25_suicidal_sol__0.txt new file mode 100644 index 000000000..c66c69533 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_4_25_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_5_16_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_5_16_suicidal_sol__0.txt new file mode 100644 index 000000000..85f559ea2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_5_16_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_6_11_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_6_11_suicidal_sol__0.txt new file mode 100644 index 000000000..81e1bd10f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_6_11_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_7_6_suicidal_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_7_6_suicidal_sol__0.txt new file mode 100644 index 000000000..4a784217d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Suicidal_0_7_6_suicidal_sol__0.txt @@ -0,0 +1,2 @@ +C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol#4-6) allows anyone to destruct the contract + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_4_25_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_4_25_timestamp_sol__0.txt new file mode 100644 index 000000000..af0a71a09 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_4_25_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#5) + +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#10) + +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_5_16_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_5_16_timestamp_sol__0.txt new file mode 100644 index 000000000..0b69aaf67 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_5_16_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#10) + +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#5) + +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_6_11_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_6_11_timestamp_sol__0.txt new file mode 100644 index 000000000..0ac45cfcd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_6_11_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#5) + +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#10) + +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_7_6_timestamp_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_7_6_timestamp_sol__0.txt new file mode 100644 index 000000000..b2a7df3bc --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_Timestamp_0_7_6_timestamp_sol__0.txt @@ -0,0 +1,12 @@ +Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#13-15) uses timestamp for comparisons + Dangerous comparisons: + - block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#14) + +Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#4-6) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#5) + +Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#8-11) uses timestamp for comparisons + Dangerous comparisons: + - require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_4_25_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_4_25_too_many_digits_sol__0.txt new file mode 100644 index 000000000..8208f1f83 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_4_25_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#13) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#10) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#11) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_5_16_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_5_16_too_many_digits_sol__0.txt new file mode 100644 index 000000000..a1b31e430 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_5_16_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#11) + +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#10) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#13) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_6_11_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_6_11_too_many_digits_sol__0.txt new file mode 100644 index 000000000..99b094b70 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_6_11_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#11) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#13) + +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_7_6_too_many_digits_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_7_6_too_many_digits_sol__0.txt new file mode 100644 index 000000000..7131d5a36 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TooManyDigits_0_7_6_too_many_digits_sol__0.txt @@ -0,0 +1,15 @@ +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#12) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#11) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#10) + +C.h() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#20-24) uses literals with too many digits: + - x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#22) + +C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits: + - x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#13) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_4_25_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_4_25_tx_origin_sol__0.txt new file mode 100644 index 000000000..aa6d40e48 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_4_25_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#10) + +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_5_16_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_5_16_tx_origin_sol__0.txt new file mode 100644 index 000000000..eb49cde78 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_5_16_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#10) + +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_6_11_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_6_11_tx_origin_sol__0.txt new file mode 100644 index 000000000..cc0ce1271 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_6_11_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#10) + +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#14) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_7_6_tx_origin_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_7_6_tx_origin_sol__0.txt new file mode 100644 index 000000000..ea23b4075 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TxOrigin_0_7_6_tx_origin_sol__0.txt @@ -0,0 +1,4 @@ +TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#14) + +TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_4_25_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_4_25_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..c9e83e76c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_4_25_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_5_16_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_5_16_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..3fbaa967d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_5_16_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_6_11_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_6_11_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..ea4f90e52 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_6_11_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_7_6_type_based_tautology_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_7_6_type_based_tautology_sol__0.txt new file mode 100644 index 000000000..8fc370f03 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_TypeBasedTautology_0_7_6_type_based_tautology_sol__0.txt @@ -0,0 +1,6 @@ +A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#9-11) contains a tautology or contradiction: + - (y < 512) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#10) + +A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#2-7) contains a tautology or contradiction: + - x >= 0 (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_4_25_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_4_25_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..a5f99697d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_4_25_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_5_16_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_5_16_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..7754728fa --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_5_16_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_6_11_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_6_11_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..940ba0675 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_6_11_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_7_6_unchecked_lowlevel_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_7_6_unchecked_lowlevel_sol__0.txt new file mode 100644 index 000000000..d0b8e63c7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedLowLevel_0_7_6_unchecked_lowlevel_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#2-4) ignores return value by dst.call{value: msg.value}() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_4_25_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_4_25_unchecked_send_sol__0.txt new file mode 100644 index 000000000..a295ad637 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_4_25_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_5_16_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_5_16_unchecked_send_sol__0.txt new file mode 100644 index 000000000..73f8f1a39 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_5_16_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_6_11_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_6_11_unchecked_send_sol__0.txt new file mode 100644 index 000000000..babda5b66 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_6_11_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_7_6_unchecked_send_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_7_6_unchecked_send_sol__0.txt new file mode 100644 index 000000000..c06eae1e4 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedSend_0_7_6_unchecked_send_sol__0.txt @@ -0,0 +1,2 @@ +MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#3) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UncheckedTransfer_0_7_6_unused_return_transfers_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedTransfer_0_7_6_unused_return_transfers_sol__0.txt new file mode 100644 index 000000000..2594e8eab --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UncheckedTransfer_0_7_6_unused_return_transfers_sol__0.txt @@ -0,0 +1,4 @@ +C.bad0() (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#20-22) ignores return value by t.transfer(address(0),1000000000000000000) (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#21) + +C.bad1() (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#40-42) ignores return value by t.transferFrom(address(this),address(0),1000000000000000000) (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#41) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_4_25_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_4_25_unimplemented_sol__0.txt new file mode 100644 index 000000000..201026ec4 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_4_25_unimplemented_sol__0.txt @@ -0,0 +1,13 @@ +DerivedContract_good (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#24) + +DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#24) + +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_interfaces_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_interfaces_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_sol__0.txt new file mode 100644 index 000000000..3ddb52a8f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_5_16_unimplemented_sol__0.txt @@ -0,0 +1,7 @@ +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_interfaces_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_interfaces_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_sol__0.txt new file mode 100644 index 000000000..5c1837773 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_6_11_unimplemented_sol__0.txt @@ -0,0 +1,10 @@ +DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#27-33) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#24) + +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_interfaces_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_interfaces_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_sol__0.txt new file mode 100644 index 000000000..716ddd54e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnimplementedFunctionDetection_0_7_6_unimplemented_sol__0.txt @@ -0,0 +1,10 @@ +DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#27-33) does not implement functions: + - BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#24) + +DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#10-14) does not implement functions: + - BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#3) + - BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#7) + +AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#16-21) does not implement functions: + - AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#17) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_4_25_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_4_25_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..b4097bd10 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_4_25_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter spender + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter to + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_5_16_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_5_16_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..77ab9c2bd --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_5_16_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter spender + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter to + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_6_11_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_6_11_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..9e11f44c8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_6_11_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter spender + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter to + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_7_6_erc20_indexed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_7_6_erc20_indexed_sol__0.txt new file mode 100644 index 000000000..8083e8f71 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedERC20EventParameters_0_7_6_erc20_indexed_sol__0.txt @@ -0,0 +1,8 @@ +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter owner + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter from + +ERC20 event IERC20Bad.Approval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter spender + +ERC20 event IERC20Bad.Transfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter to + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_4_25_uninitialized_function_ptr_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_4_25_uninitialized_function_ptr_constructor_sol__0.txt new file mode 100644 index 000000000..3b51472a6 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_4_25_uninitialized_function_ptr_constructor_sol__0.txt @@ -0,0 +1,12 @@ +Contract bad2 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#20-29) + s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor + +Contract bad0 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#3-9) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor + +Contract bad3 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#31-42) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor + +Contract bad1 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#11-18) + b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_16_uninitialized_function_ptr_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_16_uninitialized_function_ptr_constructor_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_8_uninitialized_function_ptr_constructor_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_8_uninitialized_function_ptr_constructor_sol__0.txt new file mode 100644 index 000000000..db218266d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedFunctionPtrsConstructor_0_5_8_uninitialized_function_ptr_constructor_sol__0.txt @@ -0,0 +1,12 @@ +Contract bad3 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#31-42) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor + +Contract bad1 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#11-18) + b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor + +Contract bad0 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#3-9) + a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor + +Contract bad2 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#20-29) + s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_4_25_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_4_25_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..1aac68703 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_4_25_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol#4) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_5_16_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_5_16_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..53195cb87 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_5_16_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol#4) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_6_11_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_6_11_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..7e5fa9559 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_6_11_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol#8) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_7_6_uninitialized_local_variable_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_7_6_uninitialized_local_variable_sol__0.txt new file mode 100644 index 000000000..7bf1564d7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedLocalVars_0_7_6_uninitialized_local_variable_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol#8) is a local variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_4_25_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_4_25_uninitialized_sol__0.txt new file mode 100644 index 000000000..f1af6d3a5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_4_25_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_5_16_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_5_16_uninitialized_sol__0.txt new file mode 100644 index 000000000..fc3352132 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_5_16_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_6_11_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_6_11_uninitialized_sol__0.txt new file mode 100644 index 000000000..486c71220 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_6_11_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_7_6_uninitialized_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_7_6_uninitialized_sol__0.txt new file mode 100644 index 000000000..55501d5a2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStateVarsDetection_0_7_6_uninitialized_sol__0.txt @@ -0,0 +1,12 @@ +Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#45) is never initialized. It is used in: + - Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#53-56) + +Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#15) is never initialized. It is used in: + - Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#23-26) + +Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#47) is never initialized. It is used in: + - Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#49-51) + +Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#5) is never initialized. It is used in: + - Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#7-9) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_4_25_uninitialized_storage_pointer_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_4_25_uninitialized_storage_pointer_sol__0.txt new file mode 100644 index 000000000..c6bbddd46 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_4_25_uninitialized_storage_pointer_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.func().st_bug (tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#10) is a storage variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_8_19_uninitialized_storage_pointer_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_8_19_uninitialized_storage_pointer_sol__0.txt new file mode 100644 index 000000000..23cce5fc5 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UninitializedStorageVars_0_8_19_uninitialized_storage_pointer_sol__0.txt @@ -0,0 +1,2 @@ +Uninitialized.bad().ret (tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#7) is a storage variable never initialized + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Buggy_sol__0.txt new file mode 100644 index 000000000..996998ae8 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_4_25_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Buggy_sol__0.txt new file mode 100644 index 000000000..ca6d57d00 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_5_16_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Buggy_sol__0.txt new file mode 100644 index 000000000..5620196b0 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_6_11_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Buggy_sol__0.txt new file mode 100644 index 000000000..59b0795ad --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_7_6_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Buggy_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Buggy_sol__0.txt new file mode 100644 index 000000000..7255d7d0d --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Buggy_sol__0.txt @@ -0,0 +1 @@ +Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#3-14) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#10-13) diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Fixed_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_Fixed_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_whitelisted_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnprotectedUpgradeable_0_8_15_whitelisted_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_4_25_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_4_25_unused_return_sol__0.txt new file mode 100644 index 000000000..2d70ddd1c --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_4_25_unused_return_sol__0.txt @@ -0,0 +1,8 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#18-37) ignores return value by t.g() (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#31) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#18-37) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#19) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#18-37) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#23) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#18-37) ignores return value by (e) = t.g() (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_5_16_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_5_16_unused_return_sol__0.txt new file mode 100644 index 000000000..5a651712e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_5_16_unused_return_sol__0.txt @@ -0,0 +1,8 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#18-37) ignores return value by (e) = t.g() (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#36) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#18-37) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#23) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#18-37) ignores return value by t.g() (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#31) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#18-37) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#19) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_6_11_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_6_11_unused_return_sol__0.txt new file mode 100644 index 000000000..5f1d751b7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_6_11_unused_return_sol__0.txt @@ -0,0 +1,8 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#18-37) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#19) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#18-37) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#23) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#18-37) ignores return value by t.g() (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#31) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#18-37) ignores return value by (e) = t.g() (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_7_6_unused_return_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_7_6_unused_return_sol__0.txt new file mode 100644 index 000000000..4780c7905 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedReturnValues_0_7_6_unused_return_sol__0.txt @@ -0,0 +1,8 @@ +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#18-37) ignores return value by t.g() (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#31) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#18-37) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#23) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#18-37) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#19) + +User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#18-37) ignores return value by (e) = t.g() (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#36) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_4_25_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_4_25_unused_state_sol__0.txt new file mode 100644 index 000000000..64308a427 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_4_25_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_5_16_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_5_16_unused_state_sol__0.txt new file mode 100644 index 000000000..ad3721512 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_5_16_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_6_11_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_6_11_unused_state_sol__0.txt new file mode 100644 index 000000000..3c9a9a7ff --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_6_11_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_7_6_unused_state_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_7_6_unused_state_sol__0.txt new file mode 100644 index 000000000..39c7ed13e --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnusedStateVars_0_7_6_unused_state_sol__0.txt @@ -0,0 +1,8 @@ +A.unused (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + +A.unused4 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + +A.unused2 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + +A.unused3 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_4_25_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_4_25_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_5_16_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_5_16_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..bd4950ea2 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_5_16_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_6_11_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_6_11_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..b6f3c92a7 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_6_11_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_7_6_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_7_6_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..d92862289 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_7_6_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_8_15_var_read_using_this_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_8_15_var_read_using_this_sol__0.txt new file mode 100644 index 000000000..1e2e0ca57 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VarReadUsingThis_0_8_15_var_read_using_this_sol__0.txt @@ -0,0 +1,8 @@ +The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL. + +The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL. + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_4_25_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_4_25_void_cst_sol__0.txt new file mode 100644 index 000000000..8dddd403f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_4_25_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_5_16_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_5_16_void_cst_sol__0.txt new file mode 100644 index 000000000..b55d45867 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_5_16_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_6_11_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_6_11_void_cst_sol__0.txt new file mode 100644 index 000000000..48b9a8f2f --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_6_11_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_7_6_void_cst_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_7_6_void_cst_sol__0.txt new file mode 100644 index 000000000..d585b4465 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_VoidConstructor_0_7_6_void_cst_sol__0.txt @@ -0,0 +1,3 @@ +Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#10-12): + - C() (tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#10) + diff --git a/tests/e2e/detectors/snapshots/detectors__detector_WriteAfterWrite_0_8_0_write_after_write_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_WriteAfterWrite_0_8_0_write_after_write_sol__0.txt new file mode 100644 index 000000000..847ab5c14 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_WriteAfterWrite_0_8_0_write_after_write_sol__0.txt @@ -0,0 +1,12 @@ +Test.state (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#3) is written in both + state = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#10) + state = 20 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#11) + +Test.bugy_external_local().local (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#52) is written in both + local = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#53) + local = 11 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#56) + +Test.buggy_local().a (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#21) is written in both + a = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#22) + a = 20 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#23) + diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json b/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json deleted file mode 100644 index ee268cdaa..000000000 --- a/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json +++ /dev/null @@ -1,1804 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1076, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "b = abi.encode(s)", - "source_mapping": { - "start": 1195, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1076, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n", - "markdown": "Function [A.bad3()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41", - "id": "263bbb90844d3204496ff3dbf6cefcde2cd43fb91414e0c31340a3307bb1e61e", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 540, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "this.bad0_external(bad_arr)", - "source_mapping": { - "start": 569, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 540, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n", - "markdown": "Function [A.bad0()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23", - "id": "2bbe072d30eb95e463ffdaaf3b5578622f10c36e6c65322a5c3a56ede8ace5f1", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1296, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "event1_bad(bad_arr)", - "source_mapping": { - "start": 1415, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1296, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n", - "markdown": "Function [A.bad4()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46", - "id": "35ffb290cd1c192cf8cb6d07a80648a5d31785a6c7864bf07ebfb455b9334d19", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 852, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "b = abi.encode(bad_arr)", - "source_mapping": { - "start": 971, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 5, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 852, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35)\n", - "markdown": "Function [A.bad2()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L35)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36", - "id": "57a54f648776db8c80377afd961a3a141378dd19f6b32e13c215cc7539492b1b", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 726, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - }, - { - "type": "node", - "name": "this.bad1_external(s)", - "source_mapping": { - "start": 763, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 726, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - } - } - } - ], - "description": "Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n", - "markdown": "Function [A.bad1(A.S[3])](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31", - "id": "86c66f3b307767eebada0cab8bf3a0a839ca10996314da44d69b6c9ed507a38a", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1511, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "event2_bad(s)", - "source_mapping": { - "start": 1630, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1511, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 2982, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50)\n", - "markdown": "Function [A.bad5()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L50)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51", - "id": "ae66161ced7aeecdd34531dd955380a0c0d8b8eb2a968a36de943b394d9ddaa7", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json deleted file mode 100644 index a91595864..000000000 --- a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json +++ /dev/null @@ -1,1804 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1536, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "event2_bad(s)", - "source_mapping": { - "start": 1655, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1536, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50)\n", - "markdown": "Function [A.bad5()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L50)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51", - "id": "0bff4fdfffcfca62d7e949088e4f93613d96721addf90e93f6873969654792fb", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 549, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "this.bad0_external(bad_arr)", - "source_mapping": { - "start": 578, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 549, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22)\n", - "markdown": "Function [A.bad0()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23", - "id": "2b87f0298c47e810103ba2f06c6b042c1b3faef47996231ec0d884afd82cb99c", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1321, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "event1_bad(bad_arr)", - "source_mapping": { - "start": 1440, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1321, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 44, - 45, - 46 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45)\n", - "markdown": "Function [A.bad4()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L45)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46", - "id": "3f05ebbaa8f7def9cf1d5619665846ab87d44ebc682887934c3906413cc05455", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 877, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "b = abi.encode(bad_arr)", - "source_mapping": { - "start": 996, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 5, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 877, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35)\n", - "markdown": "Function [A.bad2()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L35)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36", - "id": "4a39131a0c51a364367a9c41ded3d7fa8fd529985bc27ce975fd1fdacabc6f5f", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 744, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - }, - { - "type": "node", - "name": "this.bad1_external(s)", - "source_mapping": { - "start": 788, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 744, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(A.S[3])" - } - } - } - } - ], - "description": "Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30)\n", - "markdown": "Function [A.bad1(A.S[3])](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L30)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31", - "id": "d7bba349f36a4dd00be0005454b0e7bfa536958075ca7575ef3d95b2d2666f40", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1101, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "b = abi.encode(s)", - "source_mapping": { - "start": 1220, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1101, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 35, - "length": 3044, - "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40)\n", - "markdown": "Function [A.bad3()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L40)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41", - "id": "e6edc83d2902d4acb3d71593f26211658f88d3266d483632eab9380566ccee9d", - "check": "abiencoderv2-array", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json deleted file mode 100644 index d04fd7781..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1498, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "1ba817d0291e4f5d7fafb55c6278c82bcc093ececc435866bb7c9fec4df70948", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1738, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "54c86f8d5446e55e63466d1752a36ca614c0912786158f0d4d190c3fefb8b56f", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 1986, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "5d4e5fdce01109b3256e917c8586a8559ad4dde6b6b007c3cb85d99242ce18a6", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1033, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "fbbbc2ddd5f43443a8377441ac0ff5b1175fb3bed023f63576e053a59d4ba863", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json deleted file mode 100644 index 13cabeb3e..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1498, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "34abef96609043142b210115d49159561a631b0df81ee31f8d310267293a70d7", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 1986, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "5352ac253454c7ac5139d18b3068024bfd1adb2a3ba50e91846e685b87bebcab", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1738, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "97f68819cc099478a29e275378f30c57fc2bf8154cb8cb86c9b58788909e2486", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1033, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 613, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "eb616b56a991c8b3a6cb8f800394d615932a404f56814163c989dbf4f9307f9a", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json deleted file mode 100644 index 0a59ae426..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1564, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1756, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1564, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "3b940dbd72bf4a925e83d4f699604f18cef6703b0febc33fd0c0d0e3ac5ca328", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1812, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 2004, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1812, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "7a0eb93cb62ee8dc1b21e0ac12f91f44457b306216d02b04c020adadd622a0ac", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1312, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1516, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1312, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "7ee86024ca60eb5d5ad3be15c21fc9d7c301fa2a3a2700520459180a919c511f", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 861, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1051, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 861, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 631, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "fd1b8e822c71a24134a578815d9c495b60348cdf5eb2037d875bec85113d1278", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json deleted file mode 100644 index b02284556..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1515, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "05d766e5d9c761b562f761e6ee1e97c7b826967943e2d3b2a286a87bd7f34b3e", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1050, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "2c296d80100d63f511472381b87d4d0b6b0f97344ba63542faf7f5ec09138bd3", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 2003, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "820447a866858955ff2d6be25ff0a2e0acbd0586d9ee18a28cddc3d863b113a6", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1755, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "fe60744fd1115f5cab695c8a4cef91187c6594b8b9133d9c8c42871a69bc44b1", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json deleted file mode 100644 index d744eeec7..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json +++ /dev/null @@ -1,748 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", - "source_mapping": { - "start": 1755, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#49)\n", - "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "42f3ef187f63f7af5b0d861ce439907349e82c4feee026975dac0919e31e6ccb", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", - "source_mapping": { - "start": 2003, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#54)\n", - "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "e32264ced59dae2e3c1b6628c7e6877c4a29fd69e9f798b897b3d6bda04dc70d", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1515, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "int_transferFrom", - "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#44)\n", - "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "e9b4e54b9329b9564418eb9152c19271a5cfe4f8f6785f213dd324b219ba9dbb", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(from,to,value)", - "source_mapping": { - "start": 1050, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 630, - "length": 1433, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" - } - } - } - } - ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#34)\n", - "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "efbc4aede4068fb46033ea04969b6584f373d9fa8d1047834b951aaa1207b7a2", - "check": "arbitrary-send-erc20-permit", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index b1a43d405..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1777, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67", - "id": "782ac6309a674c4c454f4addc1aa90d361333653e69ef1ae8931414391e8d29f", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 835, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37", - "id": "d8d440df76ab0715158f642a7390c91f0ab28ca9f0a1df990a8115f489a62e55", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1509, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59", - "id": "f6dc295bfacef59e39a209c62d7a9c4a4470255c0098e7cc23d084ed666e29f0", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index b58297d0d..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1777, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67", - "id": "032453562de7f764a4207b76aa3ec875a21980644c4d3418fc186ec0a19a74f7", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1509, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59", - "id": "24af03aa72fded3faedf8cd9a6078c8d34d43e50b001678c983d7e85ff28a70f", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 835, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 394, - "length": 1717, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37", - "id": "fdb4385a68f2d66f61e29e141233b969c36b21bcc2c57da25bd49f77a0c22c14", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 1f87d7e93..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 789, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 844, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 789, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37", - "id": "3ee4e04cb082e655c1efd1510b30cdf4eb6a482b260ea7201c9169fba4ab9b85", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1443, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1518, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1443, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59", - "id": "de8b51ae7497fbc596bd29f45432f5e9894574af684b3b65dae7ddd45cb8c71a", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1711, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1786, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1711, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 403, - "length": 1721, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67", - "id": "f8361d02867f34ef252d248d5c7c1d0d4570210ce04b6a4f07f921950d80233b", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 4ce050420..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1778, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67", - "id": "a6cc1c7767af60c53ded524a69ea19d45f030de39ca0d5838f9b9790c40d52fc", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1510, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59", - "id": "d08a69b25eee59446b955d7dc80198afec5c7c05562f489dac38ad172f318e87", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 836, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37", - "id": "e2456673798cea3df117f0bf62c3394f4361a4f0ff4e924ae9dfbd9908f19a20", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index 530c866dc..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,688 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", - "source_mapping": { - "start": 836, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address,uint256)" - } - } - } - } - ], - "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37", - "id": "27d7e29cffdefedcd7bda099409891a2046976d0b7a2f64eaa28877112df7b7e", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", - "source_mapping": { - "start": 1510, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 58 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59", - "id": "42ab0e5179e6f2a124a6cb4812054d724422d55c2032dd0708bc72c05a66e98d", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - }, - { - "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", - "source_mapping": { - "start": 1778, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 402, - "length": 1710, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4(address,address,uint256)" - } - } - } - } - ], - "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67", - "id": "5b4614fc9fd5c01b1ca3f3713366e33d7b87b516646cc349aa3b383a2d4cef6b", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json deleted file mode 100644 index c4d181524..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json +++ /dev/null @@ -1,126 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 196, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 138, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "erc20.safeTransferFrom(from,address(0x1),90)", - "source_mapping": { - "start": 234, - "length": 46, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 3, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 196, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 138, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "T.bad(address) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#11-13) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,address(0x1),90) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12)\n", - "markdown": "[T.bad(address)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,address(0x1),90)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13", - "id": "60e953d6175f0ac988d7896f836c2963387efc3064ea8dc46e7f5a88b1792d0a", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json deleted file mode 100644 index c65a497fd..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 301, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 337, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 301, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21", - "id": "a117e017d88dcf44b5a68050b9cc79263760734b6e9fa1c5627484395035afab", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 147, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 181, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 147, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 869, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13", - "id": "a3f691d79400cfbc468d13a348697863660c3460ceebfea85a6f5c07c9f93a1f", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json deleted file mode 100644 index 0e85e427f..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13", - "id": "4ccd608ef16f83d45efea33bbe26da98fa322c8551e1ce4dfcc718511a328f94", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21", - "id": "8e28e46dabfb6c22ddc3d768097fd8c1a9c5331cba0480e540df2173a35db644", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json deleted file mode 100644 index de345d832..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21", - "id": "5ba8311b7d5a57cdfdf3009f594b708dcee0e532b6789fa2602b1e497cab78ff", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13", - "id": "f0e0b1ffc69d83ae26e2036986f8e50b1fd7b6b38bcd00becc5505cc83ea59f7", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json deleted file mode 100644 index cc93e1ec2..000000000 --- a/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json +++ /dev/null @@ -1,380 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - }, - { - "type": "node", - "name": "msg.sender.send(address(this).balance)", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "direct", - "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "direct()" - } - } - } - } - ], - "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13", - "id": "21e5bba25b77457329b8b6b5257f9977083960c2c9b693579477999f9aceacdd", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - }, - { - "type": "node", - "name": "destination.send(address(this).balance)", - "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "indirect", - "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 884, - "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "indirect()" - } - } - } - } - ], - "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21", - "id": "6094c4914d5770617670fa1fb7e3debc390308148f7957380c6675d4d20ba328", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol index 304af6a48..c2707601a 100644 --- a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol +++ b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol @@ -48,4 +48,25 @@ contract D { } +} + +contract E { + uint[1] public x; // storage + uint[1] public y; // storage + + function f() public { + uint[1] memory temp; + setByValue(temp, x); // can set temp, but cannot set x + setByRef(temp, y); // can set temp and y + } + + function setByValue(uint[1] memory arr, uint[1] memory arr2) internal { + arr[0] = 1; + arr2[0] = 2; + } + + function setByRef(uint[1] memory arr, uint[1] storage arr2) internal { + arr[0] = 2; + arr2[0] = 3; + } } \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip index d9daf8f4d..96bdaa0f8 100644 Binary files a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip and b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip differ diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json b/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json deleted file mode 100644 index 525bdd272..000000000 --- a/tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 855, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 822, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 571, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 855, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 822, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 688, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 571, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 571, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 686, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol index c477c6b0e..1a4d4cfe3 100644 --- a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol +++ b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol @@ -48,4 +48,25 @@ contract D { } +} + +contract E { + uint[1] public x; // storage + uint[1] public y; // storage + + function f() public { + uint[1] memory temp; + setByValue(temp, x); // can set temp, but cannot set x + setByRef(temp, y); // can set temp and y + } + + function setByValue(uint[1] memory arr, uint[1] memory arr2) internal { + arr[0] = 1; + arr2[0] = 2; + } + + function setByRef(uint[1] memory arr, uint[1] storage arr2) internal { + arr[0] = 2; + arr2[0] = 3; + } } \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip index 73286c85a..406a93f73 100644 Binary files a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip and b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip differ diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json b/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json deleted file mode 100644 index 3b56351ab..000000000 --- a/tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol index c477c6b0e..1a4d4cfe3 100644 --- a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol +++ b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol @@ -48,4 +48,25 @@ contract D { } +} + +contract E { + uint[1] public x; // storage + uint[1] public y; // storage + + function f() public { + uint[1] memory temp; + setByValue(temp, x); // can set temp, but cannot set x + setByRef(temp, y); // can set temp and y + } + + function setByValue(uint[1] memory arr, uint[1] memory arr2) internal { + arr[0] = 1; + arr2[0] = 2; + } + + function setByRef(uint[1] memory arr, uint[1] storage arr2) internal { + arr[0] = 2; + arr2[0] = 3; + } } \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip index 8a48717bc..7d9a573d1 100644 Binary files a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip and b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip differ diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json b/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json deleted file mode 100644 index c004a12aa..000000000 --- a/tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol index c477c6b0e..1a4d4cfe3 100644 --- a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol +++ b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol @@ -48,4 +48,25 @@ contract D { } +} + +contract E { + uint[1] public x; // storage + uint[1] public y; // storage + + function f() public { + uint[1] memory temp; + setByValue(temp, x); // can set temp, but cannot set x + setByRef(temp, y); // can set temp and y + } + + function setByValue(uint[1] memory arr, uint[1] memory arr2) internal { + arr[0] = 1; + arr2[0] = 2; + } + + function setByRef(uint[1] memory arr, uint[1] storage arr2) internal { + arr[0] = 2; + arr2[0] = 3; + } } \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip index 776064577..a57470fbe 100644 Binary files a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json b/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json deleted file mode 100644 index 9ed9b8ac8..000000000 --- a/tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json +++ /dev/null @@ -1,1301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", - "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 869, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 836, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 39 - ], - "starting_column": 5, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 702, - "length": 440, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", - "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", - "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 40, - "length": 167, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 17, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", - "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValueAndReturn", - "source_mapping": { - "start": 578, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValueAndReturn(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", - "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 243, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 213, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "g()" - } - } - } - }, - { - "type": "function", - "name": "setByValue", - "source_mapping": { - "start": 498, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setByValue(uint256[1])" - } - } - ], - "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", - "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", - "check": "array-by-reference", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json deleted file mode 100644 index 586412476..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json +++ /dev/null @@ -1,181 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 724, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 191, - "length": 628, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 9, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 700, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 724, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#7-20)\n", - "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#L7-L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#L6-L20", - "id": "a5eefe2a5488a11d79ceabd14aa54ce8edc1de512b733d39c25a38909a64bcf6", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json deleted file mode 100644 index 1e398fdb9..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json +++ /dev/null @@ -1,464 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 923, - "length": 754, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1000, - "length": 677, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 9, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 923, - "length": 754, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#26-47)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L26-L47)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L25-L47", - "id": "31db8c5aa923499030eeaff5c0eb368570cb2e9e497a982b5325ded49b9ed6b9", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 593, - "length": 247, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 720, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21 - ], - "starting_column": 13, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 593, - "length": 247, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 98, - "length": 1581, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#18-21)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L18-L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L16-L22", - "id": "a5b0d4efa6e09d7f5c00cc759efb20a0f423ad31277f4362952371e2e7f03b78", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json deleted file mode 100644 index 3a129af92..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 707, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 731, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 198, - "length": 622, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 119, - "length": 707, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 97, - "length": 731, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#7-19)\n", - "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#L7-L19)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#L6-L20", - "id": "7e730dca96d8dd17fdd704eb383af584599385cf12fd7a6d70c64fca8a0c49d5", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json deleted file mode 100644 index 4c2c748f6..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json +++ /dev/null @@ -1,462 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 599, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 733, - "length": 104, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 599, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#18-20)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L18-L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L16-L22", - "id": "aad9895206cb105eedd9a8327006b68c94866521e678fe76a905398370db9c6c", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 936, - "length": 761, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1020, - "length": 671, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 936, - "length": 761, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 97, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#26-46)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L26-L46)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L25-L47", - "id": "d7f5f72e9eb7d7421e9b2dee649d13448ca39c59a5c1150e158e6101e14a4c7d", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json deleted file mode 100644 index fde8557cc..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 173, - "length": 622, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#5-17)\n", - "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#L5-L17)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#L4-L18", - "id": "9ac1d15ba6758a010743a284c8db880d40b6a09a41e814ec89808c20ae33bd53", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json deleted file mode 100644 index 8844c8efa..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json +++ /dev/null @@ -1,462 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 708, - "length": 104, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#16-18)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L16-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L14-L20", - "id": "3a556efa86f5a82c92e78104a1aeba089a5af8401b31e183c798c3db5f8a35c1", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 995, - "length": 671, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#24-44)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L24-L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L23-L45", - "id": "8bb9c27f9e5cc1884401e4b4157b915e950ab4d2b7610b0e946ab4dd0bb5ef0b", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json deleted file mode 100644 index 60cf11f34..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json +++ /dev/null @@ -1,180 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 173, - "length": 622, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "at", - "source_mapping": { - "start": 94, - "length": 707, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GetCode", - "source_mapping": { - "start": 72, - "length": 731, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "at(address)" - } - } - } - } - ], - "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#5-17)\n", - "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#L5-L17)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#L4-L18", - "id": "8572a4fe623eebe88b13623bb1b58a261447fbf761f30bca58f0401703257883", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json deleted file mode 100644 index 361640626..000000000 --- a/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json +++ /dev/null @@ -1,462 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 708, - "length": 104, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumAsm", - "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#16-18)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L16-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L14-L20", - "id": "01781f60fc7e3b09baa45df51cea8cb01176741056315ec6b32be610b0e4f27f", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 995, - "length": 671, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sumPureAsm", - "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VectorSum", - "source_mapping": { - "start": 72, - "length": 1602, - "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sumPureAsm(uint256[])" - } - } - } - } - ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#24-44)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L24-L44)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L23-L45", - "id": "85808e86367fa259711d41c48f23ea18a68773f92124e3aad598acb6d45ac69e", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json b/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json deleted file mode 100644 index 6ae5f7d92..000000000 --- a/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L19-L21", - "id": "85979ffbc3cf8c2e71c54ee1cd498165a330c7e02389732170dee1c14008a72b", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L6-L8", - "id": "88a3e2b76097a01a39053337640c9105227317e018b08c603bf154883d054d5c", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L11-L13", - "id": "8c2bfb124ed74f4b532b06c3a88b5d014cf2d19a81ad22b0ca561545965c0e2b", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json b/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json deleted file mode 100644 index 9abeed7f2..000000000 --- a/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L11-L13", - "id": "06b536c1f6f37d0b7ef3459055c7757375e371d3dfbd6c17012bcc2c7991bfc7", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L19-L21", - "id": "58c5e6106ba6566aacedc2e05143de4a6b8befba4ef5de931581f5cf09ccbcaf", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L6-L8", - "id": "6b042fd4a2a0d41b27bc01260a09db3c4387ec65ca23d9d9df1230f54f53681a", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json b/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json deleted file mode 100644 index 35fb8b687..000000000 --- a/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L6-L8", - "id": "0855817bbb19b59c76156f29f217db4196244311d133ee0f88b4fe586abc7488", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L11-L13", - "id": "579536e4b54c9a38337b1b974bfe04be3e63cd7e749f68fb9b7fa4a97c2b35a7", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L19-L21", - "id": "a1813bb52d5a82887885c8c90d8fa10c4e80612143752aeaad86a261855ef2e7", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json b/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json deleted file mode 100644 index f42a95cfa..000000000 --- a/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json +++ /dev/null @@ -1,556 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "assert(bool)(bad2_callee())", - "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L19-L21", - "id": "007f2bdbef5004ed854ea288a36b2bbcf31c2ecfdc41896a7f978d274bff6fc1", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += a) > 10)", - "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L11-L13", - "id": "139e739308fb37177087443177ea3ca24788c9ad0391de3d8d331046daf8988a", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 759, - "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", - "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L6-L8", - "id": "5ce92f244b7d1f6be8a6098e0abd5c69b15ea8353a42e21be1837a68915ead44", - "check": "assert-state-change", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json b/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json deleted file mode 100644 index 2cff131a2..000000000 --- a/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json b/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json deleted file mode 100644 index cb901fd31..000000000 --- a/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json b/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json deleted file mode 100644 index 1b2ed3305..000000000 --- a/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json b/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json deleted file mode 100644 index 83a7eaa78..000000000 --- a/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#L4-L6", - "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", - "check": "backdoor", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json b/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json deleted file mode 100644 index 0eb9f8d92..000000000 --- a/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11", - "id": "09a51b67337dcc1a44f1b71413dc86887509771b9f6d854a5a5aaef94b590da0", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json b/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json deleted file mode 100644 index 686621446..000000000 --- a/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11", - "id": "c460c0b8dd321a4461e2dcea9085607d80b3a205325797025a5429d0c75cb79b", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json b/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json deleted file mode 100644 index 9dc762660..000000000 --- a/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11", - "id": "fc02b6246c48038bd59be2cbf3717e8445d6ce6b1a9981696bce11e23589f63c", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json b/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json deleted file mode 100644 index 347b13f6e..000000000 --- a/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b || true)", - "source_mapping": { - "start": 221, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 162, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 923, - "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11", - "id": "9e4c23f1bdd358acadcd6b0460f26e62cfae9d0f4570df2c540a65f55e47ada0", - "check": "boolean-cst", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json b/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json deleted file mode 100644 index 300e85634..000000000 --- a/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9", - "id": "a5db2afbaf09297a0a2f82a2b331ad7897fb9d351c751370fdb21b75432a1e61", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json b/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json deleted file mode 100644 index 6d479dedd..000000000 --- a/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9", - "id": "deeaa11969ba009e66a9ad06eb8ee15a359b785673d245669f54cbe397b7d1b6", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json b/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json deleted file mode 100644 index c9a808c64..000000000 --- a/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9", - "id": "71051c6206bde91cead25076a2ea429b95f552f468ca348b481d0af1ac178b34", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json b/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json deleted file mode 100644 index 43ba5ff8b..000000000 --- a/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - }, - { - "type": "node", - "name": "(b == true)", - "source_mapping": { - "start": 198, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 139, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 578, - "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(bool)" - } - } - } - } - ], - "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9", - "id": "a5ef55035c29649a345f5fce2b02fd6b0a1e5bf69ef05b6c725247da59487715", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol b/tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol new file mode 100644 index 000000000..ea3c4120e --- /dev/null +++ b/tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol @@ -0,0 +1,177 @@ +pragma solidity 0.8.17; + +contract CacheArrayLength +{ + struct S + { + uint s; + } + + S[] array; + S[] array2; + uint public x; + + function h() external + { + + } + + function g() internal + { + this.h(); + } + + function h_view() external view + { + + } + + function g_view() internal view + { + this.h_view(); + } + + function f() public + { + // array accessed but length doesn't change + for (uint i = 0; i < array.length; i++) // warning should appear + { + array[i] = S(0); + } + + // array.length doesn't change, but array.length not used in loop condition + for (uint i = array.length; i >= 0; i--) + { + + } + + // array.length changes in the inner loop + for (uint i = 0; i < array.length; i++) + { + for (uint j = i; j < 2 * i; j++) + array.push(S(j)); + } + + // array.length changes + for (uint i = 0; i < array.length; i++) + { + array.pop(); + } + + // array.length changes + for (uint i = 0; i < array.length; i++) + { + delete array; + } + + // array.length doesn't change despite using delete + for (uint i = 0; i < array.length; i++) // warning should appear + { + delete array[i]; + } + + // array.length changes; push used in more complex expression + for (uint i = 0; i < array.length; i++) + { + array.push() = S(i); + } + + // array.length doesn't change + for (uint i = 0; i < array.length; i++) // warning should appear + { + array2.pop(); + array2.push(); + array2.push(S(i)); + delete array2; + delete array[0]; + } + + // array.length changes; array2.length doesn't change + for (uint i = 0; i < 7; i++) + { + for (uint j = i; j < array.length; j++) + { + for (uint k = 0; k < j; k++) + { + + } + + for (uint k = 0; k < array2.length; k++) // warning should appear + { + array.pop(); + } + } + } + + // array.length doesn't change; array2.length changes + for (uint i = 0; i < 7; i++) + { + for (uint j = i; j < array.length; j++) // warning should appear + { + for (uint k = 0; k < j; k++) + { + + } + + for (uint k = 0; k < array2.length; k++) + { + array2.pop(); + } + } + } + + // none of array.length and array2.length changes + for (uint i = 0; i < 7; i++) + { + for (uint j = i; j < array.length; j++) // warning should appear + { + for (uint k = 0; k < j; k++) + { + + } + + for (uint k = 0; k < array2.length; k++) // warning should appear + { + + } + } + } + + S[] memory array3; + + // array3 not modified, but it's not a storage array + for (uint i = 0; i < array3.length; i++) + { + + } + + // array not modified, but it may potentially change in an internal function call + for (uint i = 0; i < array.length; i++) + { + g(); + } + + // array not modified, but it may potentially change in an external function call + for (uint i = 0; i < array.length; i++) + { + this.h(); + } + + // array not modified and it cannot be changed in a function call since g_view is a view function + for (uint i = 0; i < array.length; i++) // warning should appear + { + g_view(); + } + + // array not modified and it cannot be changed in a function call since h_view is a view function + for (uint i = 0; i < array.length; i++) // warning should appear + { + this.h_view(); + } + // array not modified and it cannot be changed in a function call since x is a public state variable + for (uint i = 0; i < array.length; i++) // warning should appear + { + this.x(); + } + } +} \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol-0.8.17.zip b/tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol-0.8.17.zip new file mode 100644 index 000000000..c5cb9f283 Binary files /dev/null and b/tests/e2e/detectors/test_data/cache-array-length/0.8.17/CacheArrayLength.sol-0.8.17.zip differ diff --git a/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json b/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json deleted file mode 100644 index d25176dee..000000000 --- a/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 530, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "destinations[i].transfer(i)", - "source_mapping": { - "start": 621, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 530, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: destinations[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [destinations[i].transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L24-L28", - "id": "1197eb6c89b4a380337811e1230958b352d5ad960cc4aca0d2be23ec1ad1d25b", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 671, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "destinations[i].transfer(i)", - "source_mapping": { - "start": 872, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 671, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: destinations[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [destinations[i].transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L30-L37", - "id": "6d5acd9c0dade132f780c57e2c61ea603daf15bb0ef1615b903c760d14abe073", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1074, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "a.transfer(i)", - "source_mapping": { - "start": 1135, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1074, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 327, - "length": 831, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: a.transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [a.transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L45-L47", - "id": "a922522f13366eaeef7e9ae009527e6436193ee6c1cea040f3dc3021ece8c103", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 173, - "length": 150, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 325, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "destinations_base[i].transfer(i)", - "source_mapping": { - "start": 274, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 173, - "length": 150, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 325, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: destinations_base[i].transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [destinations_base[i].transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13", - "id": "b24075894bde55b95eadde9cb759a84d2378e5191ca36b49daf3efd570906af5", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json b/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json deleted file mode 100644 index cba104d4c..000000000 --- a/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "address(uint160(a)).transfer(i)", - "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L45-L47", - "id": "59ef861c065e12f93ab520961e7f5806731ee2d9d4601a784d96e9c629bfd451", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 653, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L24-L28", - "id": "6be8c6293c3db4b794b589ec91a9fd957f589bd30464dadc4f7dcd95db2e8ba4", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L30-L37", - "id": "95493082ccca79b3a3a5d15594928f164b1e2f66813d69c44dcaf264679fce5e", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations_base[i])).transfer(i)", - "source_mapping": { - "start": 281, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13", - "id": "ae7775e429b863310f0e884b47c7b03cbf94e5db6b9dbb7c24d5b49b6748b24b", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json b/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json deleted file mode 100644 index f4c58469b..000000000 --- a/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "address(uint160(a)).transfer(i)", - "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47", - "id": "1275fac0d6d8334883dd78ed0b1b2e65781ea34bf7febaf226e85d3e5181ee2a", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations_base[i])).transfer(i)", - "source_mapping": { - "start": 281, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13", - "id": "1c841cf5332b7dc52c8ff653431ef284e000bcc14523dd09cbbf3f74dc715cc6", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 653, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28", - "id": "d9a385d84b697d514f78bac230816bfd8f859bbdc1a46cfec44bc2b9f96772c6", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37", - "id": "ea1a84f07ae33b86a4de95eea2c87a684edaa037e4391a948acab36fc08169f4", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json b/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json deleted file mode 100644 index de318ce9f..000000000 --- a/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json +++ /dev/null @@ -1,678 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 653, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CallInLoop.bad() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L24-L28", - "id": "05e47489f317ba821a515f42e75e88afd06d13e4a4e28df3de13e9b08c5c82e6", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - }, - { - "type": "node", - "name": "address(uint160(a)).transfer(i)", - "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal(address,uint256)" - } - } - } - } - ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L45-L47", - "id": "25f60430b97bcd867b254ba08df9477befadb17e5ba8451fbe8223132246a2f1", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations_base[i])).transfer(i)", - "source_mapping": { - "start": 281, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 13, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoopBase", - "source_mapping": { - "start": 0, - "length": 350, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CallInLoopBase.bad_base() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13", - "id": "c605d70888ef228103bd47badf6f2df4426d02a6389045289a750996776c6e32", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", - "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CallInLoop", - "source_mapping": { - "start": 352, - "length": 892, - "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol#L30-L37", - "id": "d44cd63abfefcfac88d0bdde0429428c81cde6706d9e890cbe3b6f2dcdd7cb96", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json b/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json deleted file mode 100644 index fed1ecaf8..000000000 --- a/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json +++ /dev/null @@ -1,386 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 333, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#14) should be constant \n", - "markdown": "[A.text2](tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L14) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L14", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 496, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 473, - "length": 271, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#26) should be constant \n", - "markdown": "[B.mySistersAddress](tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L26) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L26", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 132, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#7) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L7) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L7", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 793, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 423, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#42) should be constant \n", - "markdown": "[MyConc.should_be_constant](tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L42", - "id": "8d08797efc8230b480ec669c7e2bf53c3b3d16bc59bf7770934b34fd892934f8", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 841, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 423, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#43) should be constant \n", - "markdown": "[MyConc.should_be_constant_2](tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L43) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L43", - "id": "d08c6d1e331083b42c45c222691dd1e6d880814c66d114971875337ca61ba9c9", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 237, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#10) should be constant \n", - "markdown": "[A.test](tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L10) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol#L10", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json b/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json deleted file mode 100644 index f760111fc..000000000 --- a/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json +++ /dev/null @@ -1,454 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 880, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 467, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#44) should be constant \n", - "markdown": "[MyConc.should_be_constant_3](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L44) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L44", - "id": "29247b0a9939e854ad51bf3b2f58705156aa8b7e446e646b1832467d362b5b3e", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 333, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#14) should be constant \n", - "markdown": "[A.text2](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L14) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L14", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 496, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 473, - "length": 271, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#26) should be constant \n", - "markdown": "[B.mySistersAddress](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L26) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L26", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 132, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#7) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L7) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L7", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 793, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 467, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#42) should be constant \n", - "markdown": "[MyConc.should_be_constant](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L42", - "id": "8d08797efc8230b480ec669c7e2bf53c3b3d16bc59bf7770934b34fd892934f8", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 841, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 746, - "length": 467, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "MyConc.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#43) should be constant \n", - "markdown": "[MyConc.should_be_constant_2](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L43) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L43", - "id": "d08c6d1e331083b42c45c222691dd1e6d880814c66d114971875337ca61ba9c9", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 237, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 29, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#10) should be constant \n", - "markdown": "[A.test](tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L10) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol#L10", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json b/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json deleted file mode 100644 index 702bda7b9..000000000 --- a/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json +++ /dev/null @@ -1,457 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 305, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L12", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 811, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L41", - "id": "3a8b682f7960750cd8228d6cd3d0bb5d7d6f9faaf1a044de2fa7069d8e475af2", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 468, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 445, - "length": 271, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L24", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 104, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L5", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 763, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L40", - "id": "87097c03d57b72ad7c15336eb44e5a30054c50f8daff32e08bc4fbd97852961c", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 850, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L42", - "id": "8e991c1370b1adb10f01f2d7e48f341dee92a98b91b56ccb291d9149d2da97d0", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 209, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol#L8", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json b/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json deleted file mode 100644 index 4b8e88864..000000000 --- a/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json +++ /dev/null @@ -1,454 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 305, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L12", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 811, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L41", - "id": "3a8b682f7960750cd8228d6cd3d0bb5d7d6f9faaf1a044de2fa7069d8e475af2", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 468, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 445, - "length": 271, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L24", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 104, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L5", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 763, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L40", - "id": "87097c03d57b72ad7c15336eb44e5a30054c50f8daff32e08bc4fbd97852961c", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 850, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L42", - "id": "8e991c1370b1adb10f01f2d7e48f341dee92a98b91b56ccb291d9149d2da97d0", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 209, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol#L8", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json b/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json deleted file mode 100644 index 6cc26123a..000000000 --- a/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json +++ /dev/null @@ -1,454 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "text2", - "source_mapping": { - "start": 305, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.text2 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L12", - "id": "2f06e04545cea7e7a8998c65d5419f335bf2579a6ce6a832eac9c87392fd5c1a", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_2", - "source_mapping": { - "start": 811, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 493, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_2 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L41", - "id": "3a8b682f7960750cd8228d6cd3d0bb5d7d6f9faaf1a044de2fa7069d8e475af2", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "mySistersAddress", - "source_mapping": { - "start": 468, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 445, - "length": 271, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "B.mySistersAddress (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L24", - "id": "3b5bff93954a48a79387e7981e8c45d78edc575a0988a10f1c7f439b9f930539", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "myFriendsAddress", - "source_mapping": { - "start": 104, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.myFriendsAddress (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L5", - "id": "52fd72f6870c4b504d1bcf9fb44249658e2077474d66208a33a47d2668b8db49", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant", - "source_mapping": { - "start": 763, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 40 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 493, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L40", - "id": "87097c03d57b72ad7c15336eb44e5a30054c50f8daff32e08bc4fbd97852961c", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_constant_3", - "source_mapping": { - "start": 850, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 493, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_constant_3 (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L42", - "id": "8e991c1370b1adb10f01f2d7e48f341dee92a98b91b56ccb291d9149d2da97d0", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "test", - "source_mapping": { - "start": 209, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 1, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "A.test (tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol#L8", - "id": "e407a1b57b4d25949ef7c4e6d97197605857099a94774a9c7a848d7dd3463668", - "check": "constable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json b/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json deleted file mode 100644 index 92f3c6d28..000000000 --- a/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json +++ /dev/null @@ -1,81 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test_assembly_bug", - "source_mapping": { - "start": 324, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test_assembly_bug()" - } - } - ], - "description": "Constant.test_assembly_bug() (tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol#22-24) is declared view but contains assembly code\n", - "markdown": "[Constant.test_assembly_bug()](tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol#L22-L24) is declared view but contains assembly code\n", - "first_markdown_element": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol#L22-L24", - "id": "1f892cae08b89096bdc4d6ecdf55a3adc4b4314390e054fe2547d9c8e9f76e23", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function-asm", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json b/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json b/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json b/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json b/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json deleted file mode 100644 index 60d55ca83..000000000 --- a/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json +++ /dev/null @@ -1,278 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test_constant_bug", - "source_mapping": { - "start": 113, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test_constant_bug()" - } - }, - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 28, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Constant.test_constant_bug() (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#9-11) is declared view but changes state variables:\n\t- Constant.a (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#3)\n", - "markdown": "[Constant.test_constant_bug()](tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#L9-L11) is declared view but changes state variables:\n\t- [Constant.a](tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#L9-L11", - "id": "145e2d34dfc5b932c8d67d480c0eaec9baa8c728e2a310529572c0c4a5c6046a", - "additional_fields": { - "contains_assembly": false - }, - "check": "constant-function-state", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test_view_bug", - "source_mapping": { - "start": 45, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test_view_bug()" - } - }, - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 28, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Constant", - "source_mapping": { - "start": 0, - "length": 392, - "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Constant.test_view_bug() (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#5-7) is declared view but changes state variables:\n\t- Constant.a (tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#3)\n", - "markdown": "[Constant.test_view_bug()](tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#L5-L7) is declared view but changes state variables:\n\t- [Constant.a](tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol#L5-L7", - "id": "4dee61d8835d20c6f1f7c195d8bd1e9de5dbcc096396a5b8db391136f9f5fdf1", - "additional_fields": { - "contains_assembly": false - }, - "check": "constant-function-state", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json b/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json b/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json b/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json b/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json deleted file mode 100644 index 1937a8561..000000000 --- a/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json +++ /dev/null @@ -1,595 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b.subStruct.x.length = param + 1", - "source_mapping": { - "start": 964, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#41)\n", - "markdown": "[ArrayLengthAssignment](tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L41)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "44bb04e6400492458571a12394273c37a5c0083181ea31f644d895c0ce7eca83", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a.x.length = param", - "source_mapping": { - "start": 818, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#36)\n", - "markdown": "[ArrayLengthAssignment](tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "88eeaf5d76f62d05e6350ef5e6623c947f7225d240fbf6fb77e73e6d0fcfbfe4", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "arr.length = param", - "source_mapping": { - "start": 527, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- arr.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#26)\n", - "markdown": "[ArrayLengthAssignment](tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [arr.length = param](tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "9c110476c2adc3d4357e5d5b4c072caf4d32b84e7dfa1649a111c4a16980a10a", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json b/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json deleted file mode 100644 index e038f3ee0..000000000 --- a/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json +++ /dev/null @@ -1,595 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b.subStruct.x.length = param + 1", - "source_mapping": { - "start": 964, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#41)\n", - "markdown": "[ArrayLengthAssignment](tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L41)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "2ea862d7feccb7b474adb7b90db7f3f80358ea2633da296801c126fff1494499", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a.x.length = param", - "source_mapping": { - "start": 818, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#36)\n", - "markdown": "[ArrayLengthAssignment](tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L36)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "3ec83c3dd1c28c95b196590b7366b8c41d39691efa57d6e6353722625790ca2a", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "arr.length = param", - "source_mapping": { - "start": 527, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 406, - "length": 647, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ArrayLengthAssignment", - "source_mapping": { - "start": 0, - "length": 1055, - "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f(uint256,uint256)" - } - } - } - } - ], - "description": "ArrayLengthAssignment (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- arr.length = param (tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#26)\n", - "markdown": "[ArrayLengthAssignment](tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [arr.length = param](tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "d47bf9358fd65537009e786d169e7d955c5ac5a0af6fa98a712e450aec9519c2", - "check": "controlled-array-length", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json deleted file mode 100644 index 362afc13b..000000000 --- a/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20", - "id": "3697b4818f32b2f323e0193ab5d1395358842f1acd9aa6d9a7115adc432d2218", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11", - "id": "b617d62fff5914c10899af7ded0495ef5029a952eaf0fd28694a639c556c6532", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json b/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json deleted file mode 100644 index 7d31e4a32..000000000 --- a/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20", - "id": "71847bef70b5fc4fbfb7cf94bdbaf96464d6ca55a2e9ac618ee8af77902eb7f6", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11", - "id": "d1e5184cc93dcb07350d84ed12a87623ac434ddcaf33404d7cfb6e0a5347877f", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json b/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json deleted file mode 100644 index 7325d9e53..000000000 --- a/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20", - "id": "df6abc237722d57d7f972379f03f529a1f16bc8fb448c18e72cd5a7a5566ace8", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11", - "id": "f995ba96b9af5b9dc54b0fd20a5f09de00b4eafcf39004df3c017c147e659d69", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json deleted file mode 100644 index 5ed46e0f8..000000000 --- a/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json +++ /dev/null @@ -1,318 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", - "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call2", - "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call2(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call2(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20", - "id": "c8768eb975167e98d2def963b7ccc58753b5636e215fcd3628f922e9862e92be", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - }, - { - "type": "node", - "name": "addr_bad.delegatecall(data)", - "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_delegate_call", - "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 585, - "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_delegate_call(bytes)" - } - } - } - } - ], - "description": "C.bad_delegate_call(bytes) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11", - "id": "e53105cd8d6d703dfe261317fa5e1d94a7cc5cb513b57a258420dc1adde928c4", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json b/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json deleted file mode 100644 index 31ce64c79..000000000 --- a/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "682092df85849634793ee896cd88d83ac2564469f298c20f7f0c6da45d4d49f9", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "68476a702cb89df131f596097e8c896fd99d83f88916077e6992866632e33ae8", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "c2062080a3b845bae3725cc508857ae8f6f0bf8053081dda37ec642613692d5f", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "e99bef3af22b3031c130f4f4e4ef4c669971ca94c7cbe7bfe001c34ed7fdae32", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json b/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json deleted file mode 100644 index d3aa09a68..000000000 --- a/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "66117c82ffb5c56591c676ef6f04a88358f99e307fddd1c6a6a427458ac3086e", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "aae62985e3789b65bf370fb554018244b5b2e724b243f83447ed214fff715b3d", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "ead6abba24ab0c905968b6355e45b67e7af9aafcca9b8bf35db39caaff27cd20", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "fe584345def19a4dd4b80f3733e1b512baff0db924c65966422c3abdeb08fe78", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json b/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json deleted file mode 100644 index a86e7f879..000000000 --- a/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "27325f48eb30596a899c7c4d2d597cc8632225de694afb44f1a04c21fb556e6b", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "396d71671ee31a8296212d18098a3a49185f5c6304b7210c6c1710d373867bc9", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "47695c707cb0a40551bc13d81e7d29fe4f28b22601772d6c0171ae55d7b3ff04", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "5ec78c14e179002e40fd9511c749aa5ca38809c7b64160f88b11f70a7ef4f61f", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json b/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json deleted file mode 100644 index 7bb08cbb8..000000000 --- a/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json +++ /dev/null @@ -1,780 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1894, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_internal", - "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "0a74da2f3ac1efea52b795c82e6c5cc0cda69591fce40359b61dc9eba6b1be84", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - }, - { - "type": "node", - "name": "state_variable_base ++", - "source_mapping": { - "start": 271, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 7, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoopBase", - "source_mapping": { - "start": 0, - "length": 494, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad_base()" - } - } - } - } - ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#5-9) has costly operations inside a loop:\n\t- state_variable_base ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L5-L9) has costly operations inside a loop:\n\t- [state_variable_base ++](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "0bdf1f5aac98091f9f48992b477699d9f08b770bd2598c66a0f4ded1154078f0", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 1363, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad2() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "63e17db491a0aee4534c9a79a79cde901cab73d7f99b432bf235f6824d2062f9", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - }, - { - "type": "node", - "name": "state_variable ++", - "source_mapping": { - "start": 912, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 7, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "CostlyOperationsInLoop", - "source_mapping": { - "start": 496, - "length": 1899, - "filename_relative": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "c360d08ee1ae166d2088f069079fbb267ff31dcc5a2b3502193dee7cb27ad75a", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json deleted file mode 100644 index 472f9a0ba..000000000 --- a/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json +++ /dev/null @@ -1,96 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "highCC", - "source_mapping": { - "start": 244, - "length": 536, - "filename_relative": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "HighCyclomaticComplexity", - "source_mapping": { - "start": 25, - "length": 757, - "filename_relative": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "highCC()" - } - } - ], - "description": "HighCyclomaticComplexity.highCC() (tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#17-31) has a high cyclomatic complexity (12).\n", - "markdown": "[HighCyclomaticComplexity.highCC()](tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#L17-L31) has a high cyclomatic complexity (12).\n", - "first_markdown_element": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#L17-L31", - "id": "405b9e7f5697539c75171d728f0a10b6ebb7fe08441c445b0e63c33982c98e2d", - "check": "cyclomatic-complexity", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json b/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json deleted file mode 100644 index 32481128a..000000000 --- a/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "unused_but_shadowed", - "source_mapping": { - "start": 319, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test4", - "source_mapping": { - "start": 290, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unused_but_shadowed()" - } - } - ], - "description": "Test4.unused_but_shadowed() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#26-28) is never used and should be removed\n", - "markdown": "[Test4.unused_but_shadowed()](tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#L26-L28) is never used and should be removed\n", - "first_markdown_element": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#L26-L28", - "id": "74ea8421cf7fa9e04d243014b61f3eee7a9c7648df98316c3881dd4f1f2ab3f7", - "check": "dead-code", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "unused", - "source_mapping": { - "start": 19, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unused()" - } - } - ], - "description": "Test.unused() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#2-4) is never used and should be removed\n", - "markdown": "[Test.unused()](tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#L2-L4) is never used and should be removed\n", - "first_markdown_element": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#L2-L4", - "id": "a7c13823116566bbbbb68e8a7efa78fe64785fcb8582069373eda7f27c523cb3", - "check": "dead-code", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "unused_but_shadowed", - "source_mapping": { - "start": 79, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 58, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unused_but_shadowed()" - } - } - ], - "description": "Test2.unused_but_shadowed() (tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#10-12) is never used and should be removed\n", - "markdown": "[Test2.unused_but_shadowed()](tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#L10-L12) is never used and should be removed\n", - "first_markdown_element": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol#L10-L12", - "id": "aaba496684b73955e90b555de174e1cd03f0fee337849c4d58c10ef76ff93582", - "check": "dead-code", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json b/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json deleted file mode 100644 index 4fae8a432..000000000 --- a/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L5-L9", - "id": "6d9bc0a5e7904d4ff88cea0a8f899ad4952da844175aa76970d40189e6c0ecb5", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L25-L31", - "id": "ac822467d10c9cfad0d6e339fb53c91b1dccd27df5697b83904751090c8c3386", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol#L19-L23", - "id": "f648fec7fba6e2f8a7e8d9d1e5d7106c6f433c64a7c95b236571a032eae5c6cd", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json b/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json deleted file mode 100644 index d94587fcb..000000000 --- a/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L25-L31", - "id": "2bb1d5246bbd1909dd6a155843116289ce711f41ad69b8f4449272edb2c5884f", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L19-L23", - "id": "5fe4854bde1eae7f4e80865a5244c15203ddf7274177ae4d592ec807358ae8d4", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol#L5-L9", - "id": "71f8693b47930de0717a75f8e0eb8f13f3e33d92a9307d69e8f10063af25c2c1", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json b/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json deleted file mode 100644 index 0cc3b55b1..000000000 --- a/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L19-L23", - "id": "97dc1b51f8421dc1aacb9e61148276a0847bdeeef9c26728ab817f4c3ce8fd8d", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L5-L9", - "id": "dc8778c51053755c51632930034da0c873adbf6645d4f94786948a0d05cf6dd9", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol#L25-L31", - "id": "de66bd5e8cc1629598220beba34d036a8d5ffe2fb46d58203b83dc388371c44f", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json b/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json deleted file mode 100644 index 87c8bb520..000000000 --- a/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L25-L31", - "id": "22297edc513f30360b22344a1a3a22592bd6bb7ff59c001682e38e45497cf3d5", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L5-L9", - "id": "cc5994221aa31f9739264e5be5c60cc2762bc652cb75d6de3c27a2ae5b354925", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol#L19-L23", - "id": "ff0a3a52fabc95be0e7bba07f943922d2a167f235da04acebc196b31794db9a8", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json b/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json deleted file mode 100644 index 5b9c798a8..000000000 --- a/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json +++ /dev/null @@ -1,542 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 627, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address[])" - } - } - } - } - ], - "description": "C.bad2_internal(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#19-23) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L19-L23) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L19-L23", - "id": "70eb4ee10daaff19bd10786cf08e02a9054a483051bce2745b451aa3a9e37e34", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 188, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#5-9) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L5-L9) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L5-L9", - "id": "a7688352c79b5cc2fbe653e77c2e848245885b7e0a1706efc2d6856c54ff9e13", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", - "source_mapping": { - "start": 931, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 17, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1053, - "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#25-31) has delegatecall inside a loop in a payable function: address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i])) (tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L25-L31) has delegatecall inside a loop in a payable function: [address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))](tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol#L25-L31", - "id": "dcea54e7b19718e877e0b79c5ac7e66b6b70a2bc354a6580bdfbbf1de30abce2", - "check": "delegatecall-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json b/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json deleted file mode 100644 index c52e23769..000000000 --- a/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "", - "source_mapping": { - "start": 228, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionWithDeprecatedThrow", - "source_mapping": { - "start": 21, - "length": 229, - "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 252, - "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "functionWithDeprecatedThrow()" - } - } - } - } - ], - "description": "Deprecated standard detected THROW (tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#7):\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", - "markdown": "Deprecated standard detected [THROW](tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#L7):\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#L7", - "id": "26dcbbdf287ff1629f847bf78caee220ca0830267d2665347f845c310a22286c", - "check": "deprecated-standards", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "msg.gas == msg.value", - "source_mapping": { - "start": 140, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 12, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionWithDeprecatedThrow", - "source_mapping": { - "start": 21, - "length": 229, - "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 252, - "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "functionWithDeprecatedThrow()" - } - } - } - } - ], - "description": "Deprecated standard detected msg.gas == msg.value (tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#5):\n\t- Usage of \"msg.gas\" should be replaced with \"gasleft()\"\n", - "markdown": "Deprecated standard detected [msg.gas == msg.value](tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#L5):\n\t- Usage of \"msg.gas\" should be replaced with \"gasleft()\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol#L5", - "id": "f3f66795b4505e6ce51ac20392919e6ea6dc57a05dc750d001fb6c35383ecbc8", - "check": "deprecated-standards", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json b/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json deleted file mode 100644 index 152635d83..000000000 --- a/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol#L2-L4", - "id": "9eef59cec9988c02e41363b250508d23dbe0d7a0536a3f482e41cb15f3a051fe", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json b/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json deleted file mode 100644 index 30936c73c..000000000 --- a/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol#L2-L4", - "id": "22bda82bb0916d099f66a9324a25a33d583986a0b0b7c606f19f5ca21c0f9e8d", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json b/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json deleted file mode 100644 index e6fc7d050..000000000 --- a/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol#L2-L4", - "id": "f01862ecf960e9296449030a63cfe0d195b79ca26d7cf81fbb947ea581a6a568", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json b/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json deleted file mode 100644 index 00a4d1842..000000000 --- a/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "(a / b) * c", - "source_mapping": { - "start": 81, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 2, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "A.f(uint256,uint256,uint256) (tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#2-4) performs a multiplication on the result of a division:\n\t- (a / b) * c (tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#L2-L4) performs a multiplication on the result of a division:\n\t- [(a / b) * c](tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol#L2-L4", - "id": "5405e11c3feed3a757b92b455de6a3f32ad21ca65783d8e23cb70d54597eb1cd", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json deleted file mode 100644 index 88a1c3192..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5241, - "length": 150, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6181, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json deleted file mode 100644 index b528a2236..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6054, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json deleted file mode 100644 index ff446517f..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5248, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6128, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json deleted file mode 100644 index 4fc8f3b48..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5248, - "length": 150, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6188, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json deleted file mode 100644 index d69104adb..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json deleted file mode 100644 index 36077b76f..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5255, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6135, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json deleted file mode 100644 index 2442f6191..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5248, - "length": 150, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6188, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json deleted file mode 100644 index c875e2aea..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json deleted file mode 100644 index 691c07d65..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5255, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6135, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json deleted file mode 100644 index 5d594c2a4..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5248, - "length": 150, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6188, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json deleted file mode 100644 index 8574e4619..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json deleted file mode 100644 index 5d9a120c9..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5248, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6128, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json deleted file mode 100644 index 14fe7a3fc..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "fopwCDKKK", - "source_mapping": { - "start": 5295, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6323, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fopwCDKKK()" - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK()](tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol#L161-L163", - "id": "cb8ae27add92ad3163cbe9c0fb29a2a0032ba46384bbd5541d1d750251f5c83e", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json deleted file mode 100644 index 8842da5b0..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json +++ /dev/null @@ -1,247 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "fopwCDKKK", - "source_mapping": { - "start": 1735, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6061, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "The function signature of ERC20.fopwCDKKK (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.fopwCDKKK](tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#L46) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#L46", - "id": "8d18da367a9cfe0bee2ee48ee8a76072af23567d852cc81ed75dd90531cbe3d5", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json deleted file mode 100644 index 6a6f7623c..000000000 --- a/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json +++ /dev/null @@ -1,252 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5248, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 161, - 162, - 163 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 449, - "length": 6128, - "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - } - } - ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#161-163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "markdown": "The function signature of [ERC20.DOMAIN_SEPARATOR()](tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#L161-L163) collides with DOMAIN_SEPARATOR and should be renamed or removed.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#L161-L163", - "id": "17ee24b60ef7d108871021639c374d6711feb1c8e3aad52ab266a680c03831cb", - "check": "domain-separator-collision", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol b/tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol new file mode 100644 index 000000000..ab6648119 --- /dev/null +++ b/tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol @@ -0,0 +1,78 @@ +contract ABIencodePacked{ + + uint a; + string str1 = "a"; + string str2 = "bc"; + bytes _bytes = "hello world"; + uint[] arr; + uint[2] arr2; + string[3] str_arr3; /* This nested dynamic type is not supported in abi.encodePacked mode by solc */ + string[] str_array; /* This nested dynamic type is not supported in abi.encodePacked mode by solc */ + bytes[] bytes_array; /* This nested dynamic type and tuples are not supported in abi.encodePacked mode by solc */ + + /* Two dynamic types */ + function bad0(string calldata stra, string calldata strb) external{ + bytes memory packed = abi.encodePacked(stra, strb); + } + + /* Two dynamic types */ + function bad1(string calldata stra, bytes calldata bytesa) external{ + bytes memory packed = abi.encodePacked(stra, bytesa); + } + + /* Two dynamic types */ + function bad2(string calldata stra, uint[] calldata arra) external{ + bytes memory packed = abi.encodePacked(stra, arra); + } + + /* Two dynamic types */ + function bad3_get_hash_for_signature(string calldata name, string calldata doc) external returns (bytes32) { + return keccak256(abi.encodePacked(name, doc)); + } + + /* Two dynamic types between non dynamic types */ + function bad4(bytes calldata a2, bytes calldata a3) external { + bytes memory packed = abi.encodePacked(a, a2, a3, a); + } + + /* Two dynamic types but static values*/ + function good0() external{ + bytes memory packed = abi.encodePacked(str1, str2); + } + + /* Two dynamic types but static values*/ + function good1() external{ + bytes memory packed = abi.encodePacked(str1, _bytes); + } + + /* Two dynamic types but static values*/ + function good2() external{ + bytes memory packed = abi.encodePacked(str1, arr); + } + + /* No dynamic types */ + function good3() external{ + bytes memory packed = abi.encodePacked(a); + } + + /* One dynamic type */ + function good4() external{ + bytes memory packed = abi.encodePacked(str1); + } + + /* One dynamic type */ + function good5() external{ + bytes memory packed = abi.encodePacked(a, str1); + } + + /* One dynamic type */ + function good6() external{ + bytes memory packed = abi.encodePacked(str1, arr2); + } + + /* Two dynamic types but not consecutive*/ + function good7(string calldata a, uint b, string calldata c) external{ + bytes memory packed = abi.encodePacked(a, b, c); + } +} + diff --git a/tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol-0.7.6.zip b/tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol-0.7.6.zip new file mode 100644 index 000000000..bddf0b7c5 Binary files /dev/null and b/tests/e2e/detectors/test_data/encode-packed-collision/0.7.6/encode_packed_collision.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json b/tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json deleted file mode 100644 index 8eab7b7df..000000000 --- a/tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json +++ /dev/null @@ -1,222 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "Test.E(a)", - "source_mapping": { - "start": 118, - "length": 11, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 70, - "length": 69, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 27, - "length": 114, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 0 - } - }, - "signature": "bug(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 83, - "length": 6, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 18, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 70, - "length": 69, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 27, - "length": 114, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 0 - } - }, - "signature": "bug(uint256)" - } - } - } - }, - { - "type": "node", - "name": "Test.E(a)", - "source_mapping": { - "start": 118, - "length": 11, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 70, - "length": 69, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 27, - "length": 114, - "filename_used": "/GENERIC_PATH", - "filename_relative": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 0 - } - }, - "signature": "bug(uint256)" - } - } - } - } - ], - "description": "Test.E(a) (tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#7) has a dangerous enum conversion\n\t- Variable: Test.bug(uint256).a (tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#6) of type: uint256\n\t- Enum conversion: Test.E(a) (tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#7)\n", - "markdown": "[Test.E(a)](tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L7) has a dangerous enum conversion\n\t- Variable: [Test.bug(uint256).a](tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L6) of type: uint256\n\t- Enum conversion: [Test.E(a)](tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L7)\n", - "first_markdown_element": "tests/detectors/enum-conversion/0.4.2/enum_conversion.sol#L7", - "id": "f16bcdd6943fe3ff7ed6cc9b729ed5f95f61375509c7cce6646efa44c69860b7", - "check": "enum-conversion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json b/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json deleted file mode 100644 index d53fd0cb2..000000000 --- a/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json b/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json deleted file mode 100644 index 00426cbf4..000000000 --- a/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1090, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1148, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 622, - "length": 587, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json b/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json deleted file mode 100644 index c1a9800af..000000000 --- a/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json b/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json deleted file mode 100644 index 8b9bcb4a4..000000000 --- a/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json +++ /dev/null @@ -1,244 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "to" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L19", - "id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "owner" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L20", - "id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Transfer", - "source_mapping": { - "start": 1204, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Transfer(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "from" - } - } - ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L19", - "id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "Approval", - "source_mapping": { - "start": 1262, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Bad", - "source_mapping": { - "start": 679, - "length": 644, - "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "Approval(address,address,uint256)" - }, - "additional_fields": { - "parameter_name": "spender" - } - } - ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol#L20", - "id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6", - "check": "erc20-indexed", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json b/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index 273a00557..000000000 --- a/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 102, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 319, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 273, - "length": 41, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 162, - "length": 69, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 236, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 46, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 56 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 26, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json b/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index 5a0d705e1..000000000 --- a/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 105, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 322, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 276, - "length": 41, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 165, - "length": 69, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 239, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 49, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 56 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 355, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json b/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index d72d67240..000000000 --- a/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 122, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 371, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 317, - "length": 49, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 190, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 272, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 58, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json b/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json deleted file mode 100644 index 667be6e4d..000000000 --- a/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 122, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 371, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 317, - "length": 49, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 190, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "totalSupply", - "source_mapping": { - "start": 272, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "totalSupply()" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 58, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 29, - "length": 412, - "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", - "id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e", - "check": "erc20-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json b/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index 46f8c4e16..000000000 --- a/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 723, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 549, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 351, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 140, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 189, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 452, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 50, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 26, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 632, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 238, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 113 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 776, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 109, - "length": 739, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json b/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index d8c39db5b..000000000 --- a/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 735, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 561, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 363, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 101 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 143, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 192, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 464, - "length": 92, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 53, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 29, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 644, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 241, - "length": 117, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 122 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 788, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 748, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json b/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index d4c53c821..000000000 --- a/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 800, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 610, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 396, - "length": 104, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 109 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 152, - "length": 52, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 209, - "length": 52, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 505, - "length": 100, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 53, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 29, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 701, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 266, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 130 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 861, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json b/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json deleted file mode 100644 index 4e4e562ab..000000000 --- a/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json +++ /dev/null @@ -1,846 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "getApproved", - "source_mapping": { - "start": 800, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getApproved(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "approve", - "source_mapping": { - "start": 610, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "approve(address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 396, - "length": 104, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 109 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 152, - "length": 52, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "ownerOf", - "source_mapping": { - "start": 209, - "length": 52, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "ownerOf(uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 505, - "length": 100, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 105 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "supportsInterface", - "source_mapping": { - "start": 53, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC165", - "source_mapping": { - "start": 29, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "supportsInterface(bytes4)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "setApprovalForAll", - "source_mapping": { - "start": 701, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setApprovalForAll(address,bool)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 266, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 130 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,uint256,bytes)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "isApprovedForAll", - "source_mapping": { - "start": 861, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 112, - "length": 829, - "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isApprovedForAll(address,address)" - } - } - ], - "description": "Token (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", - "id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb", - "check": "erc721-interface", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json b/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json deleted file mode 100644 index 7e2926648..000000000 --- a/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L23-L26", - "id": "a9ba964c9c3b9d0185a7a83e1b08344a3436840fa876a62a91faef642a933bd0", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L15-L17", - "id": "eb44ec9bf0c6724f7950c6dcd8af84ce3d66025526c55a3691445259f59bfc24", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol#L19-L21", - "id": "ff8f7c2d6001e5900dded86071a174d8a71c0078a961951a0694c50460d5bd2f", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json b/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json deleted file mode 100644 index 3341d0ab9..000000000 --- a/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L19-L21", - "id": "2adc5f8e781cdaaf63f6d48774301e6faebdbc57270ac6e58b9f2c8042d579c9", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L15-L17", - "id": "3bcd44f3743829d2b06e08c66536a2b284ed15a6de47054be6878f6695462394", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol#L23-L26", - "id": "b2b17502036e90b5febb512ef8147dd1a1220909459522c3551a323e74008aeb", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json b/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json deleted file mode 100644 index a06c7fbbe..000000000 --- a/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L23-L26", - "id": "07b828b3ef90ce17c16627d50b5d10d3d0bb12364186c1daf539fe754e044e9d", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L19-L21", - "id": "2a1bc700ba646491b242b50ce15549c686f18158317505cc73e49819c13f30ff", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol#L15-L17", - "id": "6233b8ac6fbfc75896df1f4181adc2b672d947841a32a5e600331f6e3fae0ad7", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json b/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json deleted file mode 100644 index 1d2ff91e4..000000000 --- a/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json +++ /dev/null @@ -1,636 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 421, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - } - } - ], - "description": "Bug.bad1(address) (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L19-L21", - "id": "21fc5036d7faf8a85ef526dae53f05bb95d3b164be9153309914c9d1edd4b1fa", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "owner = msg.sender", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Bug.bad0() (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L15-L17", - "id": "60cac8612da706a8f41d365ee5121e3ff3d117d62ef30542f4f0919c1269cc63", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1309, - "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2(address)" - } - } - } - } - ], - "description": "Bug.bad2(address) (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol#L23-L26", - "id": "7860dfd180581f63b5ecadd5b878a8e35424a20a1ed7bdfa9c7a88bbe40a40ac", - "check": "events-access", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json b/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json deleted file mode 100644 index e0cb12afe..000000000 --- a/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32", - "id": "7d5d220e7eb70eecd77a3b9f97edae023ff0ace74cb8fdcc673421a20cd1b0bd", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24", - "id": "d834b257539b629a79f990d9afdbdea9b092e4539613b94120157bec163e9570", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json b/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json deleted file mode 100644 index 1f7a2d8a7..000000000 --- a/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32", - "id": "384e7002e5c0ea33a22d703483b9f837a9ca785cc5b13b911a90fcd094d6a53b", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24", - "id": "ecfe9683975ad7762734d6bb9363346cd16bb866d217bbc4e3b340796739ac88", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json b/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json deleted file mode 100644 index 841323847..000000000 --- a/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24", - "id": "4bf2270c516407112555696f464caa30d4e2e7898bd1479e454016615a38ad24", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32", - "id": "9fc6945144a499e74e24fc81440c43f9d2266b2b656d6444d05cd3aeb9d6325a", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json b/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json deleted file mode 100644 index dd299c72a..000000000 --- a/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - }, - { - "type": "node", - "name": "iprice16 = _price", - "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int16)" - } - } - } - } - ], - "description": "Bug.bad1(int16) (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32", - "id": "9a015bded24bf836777fe364f7fda7e10969446ce8c0b352ce6e0023bdd7b79b", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - }, - { - "type": "node", - "name": "uprice8 = _price", - "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 0, - "length": 1522, - "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(uint8)" - } - } - } - } - ], - "description": "Bug.bad0(uint8) (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24", - "id": "fa31b12742b283eaebe95c21d70eb91600f87abda7eb2a186d0a661ab401992a", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json deleted file mode 100644 index 5931ffb80..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json +++ /dev/null @@ -1,181 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 239, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 330, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(uint256[])" - } - } - ], - "description": "bad2(uint256[]) should be declared external:\n\t- Test.bad2(uint256[]) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#8)\n", - "markdown": "bad2(uint256[]) should be declared external:\n\t- [Test.bad2(uint256[])](tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#L8", - "id": "69068a3072d6f392073d197438688ae8e0bee7844098cfe4cc6c7d345e603678", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 330, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(bytes)" - } - } - ], - "description": "bad(bytes) should be declared external:\n\t- Test.bad(bytes) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#7)\n", - "markdown": "bad(bytes) should be declared external:\n\t- [Test.bad(bytes)](tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#L7", - "id": "695915ec89adb6bfc4bf7f8eebf7993e02756da20f0b0e5a8d1dd251bf956c43", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 287, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 330, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(string)" - } - } - ], - "description": "bad3(string) should be declared external:\n\t- Test.bad3(string) (tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#9)\n", - "markdown": "bad3(string) should be declared external:\n\t- [Test.bad3(string)](tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol#L9", - "id": "f56b73c72461d3d9fd4e79bd3cd2649f79c425406843e5c7b2de3fad5b2f663a", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json deleted file mode 100644 index 72a50312d..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json +++ /dev/null @@ -1,268 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 524, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(string)" - } - } - ], - "description": "bad4(string) should be declared external:\n\t- Test.bad4(string) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#18)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad4(string) should be declared external:\n\t- [Test.bad4(string)](tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L18)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L18", - "id": "1b6de528ed7f8ecf61a543879c8bcbee1bce7e08bdef89c6f8f663937d5a7209", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 475, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(Test.testStruct)" - } - } - ], - "description": "bad3(Test.testStruct) should be declared external:\n\t- Test.bad3(Test.testStruct) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#17)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad3(Test.testStruct) should be declared external:\n\t- [Test.bad3(Test.testStruct)](tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L17)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L17", - "id": "a60742b3998c52eee654f61cfb5b39834d63a1b13212511a01811206ac445dd5", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 427, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(uint256[])" - } - } - ], - "description": "bad2(uint256[]) should be declared external:\n\t- Test.bad2(uint256[]) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#16)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad2(uint256[]) should be declared external:\n\t- [Test.bad2(uint256[])](tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L16)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L16", - "id": "aa4b0cae64f1a6f9f11d3f9981255fd04f37f558c960195ee46413ca4b142822", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 384, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 35, - "length": 532, - "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(bytes)" - } - } - ], - "description": "bad(bytes) should be declared external:\n\t- Test.bad(bytes) (tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#15)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "markdown": "bad(bytes) should be declared external:\n\t- [Test.bad(bytes)](tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L15)\nMoreover, the following function parameters should change its data location:\nx location should be calldata\n", - "first_markdown_element": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol#L15", - "id": "df1688f3d1120f9600f61accff294ba821689c45dc261f1a9b94f23e6a402367", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json b/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json deleted file mode 100644 index 4a3e17170..000000000 --- a/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json b/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json deleted file mode 100644 index 8c104cf5f..000000000 --- a/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json b/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json deleted file mode 100644 index a974a1f73..000000000 --- a/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1575, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json b/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json deleted file mode 100644 index 49d2b74ef..000000000 --- a/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json +++ /dev/null @@ -1,459 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 157, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.v (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.v](tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L5", - "id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z4", - "source_mapping": { - "start": 842, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.z4 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "markdown": "[StateVarInitFromFunction.z4](tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L17", - "id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 268, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.x (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "markdown": "[StateVarInitFromFunction.x](tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L7", - "id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y1", - "source_mapping": { - "start": 357, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y1 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "markdown": "[StateVarInitFromFunction.y1](tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L9", - "id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y2", - "source_mapping": { - "start": 453, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StateVarInitFromFunction", - "source_mapping": { - "start": 116, - "length": 1567, - "filename_relative": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "StateVarInitFromFunction.y2 (tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "markdown": "[StateVarInitFromFunction.y2](tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n", - "first_markdown_element": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol#L10", - "id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472", - "check": "function-init-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json b/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json b/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json b/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json deleted file mode 100644 index 3c2d2fe8a..000000000 --- a/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json +++ /dev/null @@ -1,339 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_5", - "source_mapping": { - "start": 1077, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#47) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L47) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L47", - "id": "42d50245236163ceca90dea732165e65c2155934b149a5a1a5c51bddc0b5b02a", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_2", - "source_mapping": { - "start": 940, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L44", - "id": "70d57aa51dda92c28444a466db8567fa783c85d484259aa5eee2ebc63f97a200", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_4", - "source_mapping": { - "start": 1038, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_4 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_4](tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L46", - "id": "a26d6df4087ac010928bc4bd18aa70ac58a28e584b1288e348d9c255473c300d", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable", - "source_mapping": { - "start": 894, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L43", - "id": "b163d277f544f7f05ed4bcddda61e444be893e65ba0469688abd7b401a1db222", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_3", - "source_mapping": { - "start": 986, - "length": 46, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 539, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol#L45", - "id": "f19f7a22a6f17ffd8b5c29021226388aab7548f996b686a8e0b2bc861f72d447", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json b/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json deleted file mode 100644 index 11cfe3e5e..000000000 --- a/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json +++ /dev/null @@ -1,334 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_5", - "source_mapping": { - "start": 1077, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#47) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L47) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L47", - "id": "42d50245236163ceca90dea732165e65c2155934b149a5a1a5c51bddc0b5b02a", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_2", - "source_mapping": { - "start": 940, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L44", - "id": "70d57aa51dda92c28444a466db8567fa783c85d484259aa5eee2ebc63f97a200", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_4", - "source_mapping": { - "start": 1038, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_4 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_4](tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L46", - "id": "a26d6df4087ac010928bc4bd18aa70ac58a28e584b1288e348d9c255473c300d", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable", - "source_mapping": { - "start": 894, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L43", - "id": "b163d277f544f7f05ed4bcddda61e444be893e65ba0469688abd7b401a1db222", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_3", - "source_mapping": { - "start": 986, - "length": 46, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 531, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol#L45", - "id": "f19f7a22a6f17ffd8b5c29021226388aab7548f996b686a8e0b2bc861f72d447", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json b/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json deleted file mode 100644 index 31fd3b1be..000000000 --- a/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json +++ /dev/null @@ -1,276 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_5", - "source_mapping": { - "start": 1038, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 46 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_5 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L46", - "id": "42d50245236163ceca90dea732165e65c2155934b149a5a1a5c51bddc0b5b02a", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_2", - "source_mapping": { - "start": 940, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 44 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_2 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L44", - "id": "70d57aa51dda92c28444a466db8567fa783c85d484259aa5eee2ebc63f97a200", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable", - "source_mapping": { - "start": 894, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L43", - "id": "b163d277f544f7f05ed4bcddda61e444be893e65ba0469688abd7b401a1db222", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "should_be_immutable_3", - "source_mapping": { - "start": 986, - "length": 46, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bad", - "source_mapping": { - "start": 718, - "length": 577, - "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bad.should_be_immutable_3 (tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol#L45", - "id": "f19f7a22a6f17ffd8b5c29021226388aab7548f996b686a8e0b2bc861f72d447", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json b/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json deleted file mode 100644 index fcf5e67b7..000000000 --- a/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1091, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50", - "id": "123f37fe2d18f3d62f0c6ce71dbefc3034de268bf8c16054a306ecb3e36ad065", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 822, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40", - "id": "33dd2bddb09b7d20544ca585d3adae4f9228b100250216d0c7864a8076898bbd", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 562, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27", - "id": "4a9b012b6f9762d5edbdfd01c8160a88c6df6773229601c6d55d90b7c7aa2cdd", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(now == 0)", - "source_mapping": { - "start": 2969, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125", - "id": "5fcec0bbb23ad1151dc4a805c21795e3dad5e7863008cb2efd460998b23b60d1", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1274, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57", - "id": "7a6e65373ac0889b26f7464107e30ff847c4db7fe43999ada2631f51625c46ae", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 455, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23", - "id": "8bdd45363c31403d82b020ba5823c89c6bc3a54c1b96f718fdb5d9d218a675ac", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3034, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129", - "id": "8d31f3e01926106c2993f7184e5f73efd00cac620fa4143531eec830e143137d", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 683, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35", - "id": "90e38f3c11943fb117be8c79d5c12196aab5990503f859c8e133d5318e2f5c78", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1450, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64", - "id": "99779d65b3b4cea385aa65b1e7bed533bd5301aa04e141c7a38125b32804e736", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1635, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71", - "id": "aef2defcd860257b102e1e07583b2bcd8eb96186e0334d26289d62ef66d94265", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3106, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133", - "id": "be3fc04691f9a4b06c55b3c98a3968c3e0f03bbaf0fd6fe799aba4487b54ac0e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 961, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45", - "id": "ca734ebf2aff837ece445cea2cc8441a7a2a73b15bbb5cb68c6bde45ee52bea1", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json b/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json deleted file mode 100644 index 08c0c334d..000000000 --- a/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1091, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50", - "id": "05ce842aed12884d58a58241f422dbad3b4c14769ffa4ca5930726f2948167a5", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 683, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35", - "id": "29c85226ec025437d4d2ff95e6bc6d934757fc5d3c834873afda9c38a5653756", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 822, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40", - "id": "352f19146eb75c68f7cb8e05aaaf84a5f2d13e4c03af43e6bcb79babb6411231", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1635, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71", - "id": "4285173d33e2e37daddea7c9cb3def32e8b038d9040669bc21a8a8e1e50e982a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 562, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27", - "id": "44c65a790eee93eb2653c6d9f7c1c8c6d9ef4e4264408dc30d5b6a938873cf5e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1450, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64", - "id": "51ece6317db49c0895eef868169b4d605bd7ca72db817a1573edae815d98e71e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1274, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57", - "id": "5d07adb6b1f660d1241d7d9080670f197a09ffc6073d6bcfa5865cc83181708a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3034, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129", - "id": "7c6efda5fe56ba580b299737a41836ed9e39afa559d713d4fffd097d1cf1f889", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 961, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45", - "id": "8622833a6a62a400ce901b4bc78815431f921549570de73ba2421375a4b1abae", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 455, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 165, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23", - "id": "c1401150abb2f3a3b83eaddd0fee0e89da8c9e96f56c031103654d3fcb6480c5", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(now == 0)", - "source_mapping": { - "start": 2969, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125", - "id": "c87d2ed05c3b9e133ab1cc40d5414c3b7ee237fd9349b50c57676f52d5055f41", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3106, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133", - "id": "ed3aa653005f54d880adb9c0f742a41005855f1c452f1eb93c4d952eeeedfbc5", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json b/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json deleted file mode 100644 index aa217c978..000000000 --- a/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1467, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64", - "id": "1e510a2b317178caeb183ec9237ce9b066a622e7564bdfe00368f1d94812b072", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 472, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23", - "id": "2147be33b046bb4ad215164b5d2d6eece75c761b5d6f1dfa4738c06cb9a3da06", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1108, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50", - "id": "2aefe606d348048339e03786d458d8fa318a4c927379da603438fc43a380d75a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1652, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71", - "id": "71feb4e8fb94d1d8d22e43fa29c5e87973d8c15e195b642758e4a05c35cd0338", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2952, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(now == 0)", - "source_mapping": { - "start": 2986, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2952, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125", - "id": "91ff3604b6455240febb920249669ca70f281c04a823f722d446cf9fe06fc5a8", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 978, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45", - "id": "a5c23b46b1ab4eb0e5944bf42ac85dff621028f3144f5e64b2db3af51cc5c3af", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 579, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27", - "id": "a8f80863931a71bb79be323f5312d2b15235f4cf63cf47dedbd3fc3a467b8426", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3017, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3051, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3017, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129", - "id": "c5a137c85131387da43effbf4eb514b58a482c76f58ca9ae0e45a9f4c67f57c6", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1291, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57", - "id": "dc0d579cd55024763718830f2e8bcdc2cba6001246385b10e994bb45a6bdcdc4", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 839, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40", - "id": "e4fe545c6832599a35bb50b2d617ee8e7f4565d312535e362a015253ee13fe2e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3089, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3123, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3089, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133", - "id": "ec490b5b95549f210fe15cc6df8aeb9c8b78cc71eb3b336cefe602463480ea02", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 700, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35", - "id": "fbac3cce622ed841991a9947a59d8077df6ddd5f5250bb2af8a3169eb4204f1b", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol index b2e4c2f14..58b6b593e 100644 --- a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol +++ b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol @@ -134,3 +134,27 @@ contract TestSolidityKeyword{ } +interface Receiver { + +} +contract A { + mapping(address => Info) data; + + struct Info { + uint a; + address b; + uint c; + } + function good(address b) public payable { + data[msg.sender] = Info(block.timestamp, b, msg.value); + if (data[msg.sender].b == address(0)) { + payable(msg.sender).transfer(data[msg.sender].c); + } + } + function good2(address b) public payable { + data[msg.sender] = Info(block.timestamp, b, msg.value); + if (Receiver(data[msg.sender].b) == Receiver(address(0))) { + payable(msg.sender).transfer(data[msg.sender].c); + } + } +} \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip index a7fbdc6b6..99de07e26 100644 Binary files a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json deleted file mode 100644 index ddadd3deb..000000000 --- a/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json +++ /dev/null @@ -1,2552 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", - "source_mapping": { - "start": 579, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(ERC20Variable)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27", - "id": "0129e3a960eb5eb0d7bc4f2d6c33fa5ce18ae0704390d3ef9829ce20bcb3d071", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1652, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad6()" - } - } - } - } - ], - "description": "TestContractBalance.bad6() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71", - "id": "1701908087786c2d3ca6253022b69a41a3637584ebfbe396e0c682097c24119c", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - }, - { - "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", - "source_mapping": { - "start": 472, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20TestBalance", - "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0(ERC20Function)" - } - } - } - } - ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23", - "id": "5e030ae824ffc72258ca317b13b88e476010bab843ed560bcf3e91a77e30869e", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", - "source_mapping": { - "start": 839, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 37, - 38, - 39, - 40 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestContractBalance.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40", - "id": "64d04d8f94ed18470f850eb8696b192e2b2f59dcc751feca4116aa2970ead1ca", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2964, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 2998, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2964, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(block.timestamp == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125", - "id": "7b0984af9e0ffedf1575cebc039f322695055a01b9cbd81771e552c441019628", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", - "source_mapping": { - "start": 1108, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50", - "id": "a6897be58505c046705a41d57507a230ae91f8582da3ba6573a40275cfef0608", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "balance == 10000000000000000000", - "source_mapping": { - "start": 1291, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "TestContractBalance.bad4() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57", - "id": "b8b849eb6912d14d89c08cc62631b526b98c443d404241f3c52efc638b2bcc86", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", - "source_mapping": { - "start": 700, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 32, - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "TestContractBalance.bad0() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35", - "id": "c13f1ea5f8ba0968d254f38bae296c5528326f464233f2eb283c0a952cf358ff", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3113, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3147, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 132 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3113, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133", - "id": "c2653e938f80ae63a20262eda2521ab3d846f822947c9b7d8b823388e3997928", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - }, - { - "type": "node", - "name": "10000000000000000000 == balance", - "source_mapping": { - "start": 1467, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad5()" - } - } - } - } - ], - "description": "TestContractBalance.bad5() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64", - "id": "c8b2fbe9338a5c9af7e9645699b830df0239a588e340d65c5d0c2b918f1773d1", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", - "source_mapping": { - "start": 978, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 943, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestContractBalance", - "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "TestContractBalance.bad2() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45", - "id": "ea6ab897bf4edb3c5139321ca547b08717767225087f380099e8472566a6a8a0", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3041, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(block.number == 0)", - "source_mapping": { - "start": 3075, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 128 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3041, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestSolidityKeyword", - "source_mapping": { - "start": 2385, - "length": 798, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129", - "id": "f9063c78a209722de77a042a87a28a14eea47675f73a891172c3262232d33e70", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json b/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json deleted file mode 100644 index c17d96402..000000000 --- a/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json b/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json deleted file mode 100644 index 51ba3b9ce..000000000 --- a/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json b/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json deleted file mode 100644 index 28e23e301..000000000 --- a/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json b/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json deleted file mode 100644 index 71397c0df..000000000 --- a/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json +++ /dev/null @@ -1,320 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "loopsNoResult", - "source_mapping": { - "start": 496, - "length": 251, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loopsNoResult()" - } - } - ], - "description": "Modifier Test.loopsNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41", - "id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "requireAssertNoResult", - "source_mapping": { - "start": 277, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "requireAssertNoResult()" - } - } - ], - "description": "Modifier Test.requireAssertNoResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22", - "id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "noResult", - "source_mapping": { - "start": 20, - "length": 103, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 901, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "noResult()" - } - } - ], - "description": "Modifier Test.noResult() (tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6", - "id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3", - "check": "incorrect-modifier", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json b/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json b/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json b/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json deleted file mode 100644 index 5b4d6115a..000000000 --- a/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json +++ /dev/null @@ -1,130 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "a = 8 >> a", - "source_mapping": { - "start": 93, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 13, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#5)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L3-L7) contains an incorrect shift operation: [a = 8 >> a](tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L3-L7", - "id": "3b49c1812a94a200ed222cb95c2aa98fb38f623349bf4eceff8b578d1edfb450", - "check": "incorrect-shift", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol index 89a9210ad..11a2af9ae 100644 --- a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol +++ b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol @@ -1,8 +1,9 @@ contract C { - function f() internal returns (uint a) { + function f() internal returns (uint a, uint b) { assembly { a := shr(a, 8) + b := shl(248, 0xff) } } } \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip index 7f833af85..e1cce4a17 100644 Binary files a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json deleted file mode 100644 index 20150fd69..000000000 --- a/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json +++ /dev/null @@ -1,130 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "a = 8 >> a", - "source_mapping": { - "start": 93, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 13, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 19, - "length": 106, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#5)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L3-L7) contains an incorrect shift operation: [a = 8 >> a](tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L3-L7", - "id": "1e0b56cf3193f6a593cb39fce7f93feb1d57c319bcd090e9a1cd3d96606409cb", - "check": "incorrect-shift", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json b/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json deleted file mode 100644 index 910b5c2aa..000000000 --- a/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json +++ /dev/null @@ -1,521 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "slitherConstructorVariables", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "slitherConstructorVariables()" - } - }, - { - "type": "node", - "name": "c = (b = + 1)", - "source_mapping": { - "start": 42, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 3, - "ending_column": 16 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "slitherConstructorVariables", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "slitherConstructorVariables()" - } - } - } - } - ], - "description": "C.slitherConstructorVariables() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#1-15) uses an dangerous unary operator: c = (b = + 1) (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#4)\n", - "markdown": "[C.slitherConstructorVariables()](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15) uses an dangerous unary operator: [c = (b = + 1)](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15", - "id": "1cd95648731fa1d8591ad7893453cc18fac345beb99f74b732ba348913c39440", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x = + 144444", - "source_mapping": { - "start": 104, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = + 144444 (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#8)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = + 144444](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14", - "id": "752dfc78458ce332044d64166a2fc7cad63f5797b4e1d4d983a0681c43a7a930", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "c", - "source_mapping": { - "start": 42, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 3, - "ending_column": 16 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "C.c (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) uses an dangerous unary operator: (b = + 1)\n", - "markdown": "[C.c](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4) uses an dangerous unary operator: (b = + 1)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4", - "id": "98d05a4acbe13ff0e6fa795af35dc2002541cc7607f3f4d7ffb356f9d33681bd", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x = (x = + 1)", - "source_mapping": { - "start": 136, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = (x = + 1) (tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#9)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = (x = + 1)](tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14", - "id": "aa018a8d101b2e2a91a45c0075355e9dfae1b2abe322079230cc2a89f58135fb", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol b/tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol new file mode 100644 index 000000000..5b173e7b5 --- /dev/null +++ b/tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol @@ -0,0 +1,94 @@ +pragma solidity 0.8.17; + +struct S1 +{ + uint __; +} + +struct S2 +{ + uint128 __; +} + +enum E1 +{ + A, + B +} + +enum E2 +{ + A, + B +} + +contract C0 +{ + +} + +contract C1 is C0 +{ + +} + +contract C2 is C1 +{ + +} + +contract C3 +{ + +} + +type custom_uint is uint248; +type custom_int is int248; + +library L +{ + function f0(C0) public pure {} + function f1(bool) public pure {} + function f2(string memory) public pure {} + function f3(bytes memory) public pure {} + function f4(uint248) public pure {} + function f5(int248) public pure {} + function f6(address) public pure {} + function f7(bytes17) public pure {} + function f8(S1 memory) public pure {} + function f9(E1) public pure {} + function f10(mapping(int => uint) storage) public pure {} + function f11(string[] memory) public pure {} + function f12(bytes[][][] memory) public pure {} + function f13(custom_uint) public pure {} +} + +// the following statements are correct +using L for C2; +using L for bool; +using L for string; +using L for bytes; +using L for uint240; +using L for int16; +using L for address; +using L for bytes16; +using L for S1; +using L for E1; +using L for mapping(int => uint); +using L for string[]; +using L for bytes[][][]; +using L for custom_uint; + +// the following statements are incorrect +using L for C3; +using L for bytes17[]; +using L for uint; +using L for int; +using L for bytes18; +using L for S2; +using L for E2; +using L for mapping(int => uint128); +using L for mapping(int128 => uint); +using L for string[][]; +using L for bytes[][]; +using L for custom_int; diff --git a/tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol-0.8.17.zip b/tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol-0.8.17.zip new file mode 100644 index 000000000..9afc56d39 Binary files /dev/null and b/tests/e2e/detectors/test_data/incorrect-using-for/0.8.17/IncorrectUsingForTopLevel.sol-0.8.17.zip differ diff --git a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol index 65942ed2e..f3be911be 100644 --- a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol +++ b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol @@ -23,4 +23,15 @@ contract Unlocked is Locked, Send{ } +// Still reported because solidity < 0.6.0 doesn't have assembly in the AST +contract UnlockedAssembly is Locked{ + + function withdraw() public { + assembly { + let success := call(gas(), caller(),100,0,0,0,0) + } + } + +} + contract OnlyLocked is Locked{ } diff --git a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip index b6092ecdb..e3e6f6c21 100644 Binary files a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip and b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip differ diff --git a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json deleted file mode 100644 index 8a96569ce..000000000 --- a/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 368, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive", - "source_mapping": { - "start": 47, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 25, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol#L26", - "id": "a2fad0e9c8a75e55b8c548dd184dc33d78142ea5bac9c36cdc5eb174e56d689c", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol index 0269ce855..e5671b7ad 100644 --- a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol +++ b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol @@ -23,4 +23,15 @@ contract Unlocked is Locked, Send{ } +// Still reported because solidity < 0.6.0 doesn't have assembly in the AST +contract UnlockedAssembly is Locked{ + + function withdraw() public { + assembly { + let success := call(gas(), caller(),100,0,0,0,0) + } + } + +} + contract OnlyLocked is Locked{ } diff --git a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip index 88255d730..5dfba9e3f 100644 Binary files a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip and b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip differ diff --git a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json deleted file mode 100644 index 5b39da397..000000000 --- a/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 375, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive", - "source_mapping": { - "start": 46, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 24, - "length": 97, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol#L26", - "id": "a2fad0e9c8a75e55b8c548dd184dc33d78142ea5bac9c36cdc5eb174e56d689c", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol index 7f02028e7..aef9ca6e7 100644 --- a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol +++ b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol @@ -23,4 +23,14 @@ contract Unlocked is Locked, Send{ } +contract UnlockedAssembly is Locked{ + + function withdraw() public { + assembly { + let success := call(gas(), caller(),100,0,0,0,0) + } + } + +} + contract OnlyLocked is Locked{ } diff --git a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip index 2408eeb82..48b675d9a 100644 Binary files a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip and b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip differ diff --git a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json deleted file mode 100644 index 49eab9f41..000000000 --- a/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 401, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive_eth", - "source_mapping": { - "start": 49, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 27, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive_eth()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol#L26", - "id": "1818e759217cfcf6787001194bba24ad45470b123962a72d39062edb19447022", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol index 7f02028e7..aef9ca6e7 100644 --- a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol +++ b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol @@ -23,4 +23,14 @@ contract Unlocked is Locked, Send{ } +contract UnlockedAssembly is Locked{ + + function withdraw() public { + assembly { + let success := call(gas(), caller(),100,0,0,0,0) + } + } + +} + contract OnlyLocked is Locked{ } diff --git a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip index ecf7e7944..8d339e3c2 100644 Binary files a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json deleted file mode 100644 index dbfa51782..000000000 --- a/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "OnlyLocked", - "source_mapping": { - "start": 401, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 1, - "ending_column": 33 - } - }, - { - "type": "function", - "name": "receive_eth", - "source_mapping": { - "start": 49, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Locked", - "source_mapping": { - "start": 27, - "length": 101, - "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "receive_eth()" - } - } - ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n", - "markdown": "Contract locking ether found:\n\tContract [OnlyLocked](tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n", - "first_markdown_element": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol#L26", - "id": "1818e759217cfcf6787001194bba24ad45470b123962a72d39062edb19447022", - "check": "locked-ether", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json b/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json deleted file mode 100644 index 0b60c1163..000000000 --- a/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call.value(msg.value).gas(7777)()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol#L5-L7", - "id": "1891e8bc686be03365c3a2eed6695666275aa30d9b8a9be7aa3d7e9437d1a65a", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json b/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json deleted file mode 100644 index 5c8498e47..000000000 --- a/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call.value(msg.value).gas(7777)()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol#L5-L7", - "id": "faea7d741ed7b50f33370d71c431256bfcf9c3e0d2d753f250456288039484fc", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json b/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json deleted file mode 100644 index 24733492b..000000000 --- a/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call.value(msg.value).gas(7777)()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol#L5-L7", - "id": "79efc16fdd7c9cafb6ea0b7bf20805c61342b0205d80e50a74d16eb0240837fe", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json b/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json deleted file mode 100644 index 28ee31e98..000000000 --- a/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - }, - { - "type": "node", - "name": "_receiver.call{gas: 7777,value: msg.value}()", - "source_mapping": { - "start": 111, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "send", - "source_mapping": { - "start": 51, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Sender", - "source_mapping": { - "start": 29, - "length": 136, - "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "send(address)" - } - } - } - } - ], - "description": "Low level call in Sender.send(address) (tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#5-7):\n\t- _receiver.call{gas: 7777,value: msg.value}() (tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#L5-L7):\n\t- [_receiver.call{gas: 7777,value: msg.value}()](tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol#L5-L7", - "id": "690c796e376fac67085b713c1fbe904c601545e617d290918e244f82ecf12bbb", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json b/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json deleted file mode 100644 index 3a68c56a3..000000000 --- a/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json +++ /dev/null @@ -1,413 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 165, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11", - "id": "480f143e218317272b848a3585bad43e4e06d4ebee428388434fd9782dd7a6ea", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 544, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 189, - "length": 825, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 218, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 189, - "length": 825, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 650, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 544, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 189, - "length": 825, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#28-31) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#30)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31) deletes [Balances.BalancesStruct](tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L30)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31", - "id": "fd9b876be048b4faa465b510cd9a008e901c270f6a5776877b1d176dd79e3e89", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json b/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json deleted file mode 100644 index 4a1d285b4..000000000 --- a/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json +++ /dev/null @@ -1,416 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 175, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11", - "id": "25f78afdb82c912359dfe1e6ae5b252658ae3fcea89e6573b41133d9ee74485a", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 228, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 701, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32", - "id": "e32795b53dcf7a1a5f2c10b588df584da1907d195e9ed3c48f020813ccd01d61", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json b/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json deleted file mode 100644 index 9bbd114f7..000000000 --- a/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json +++ /dev/null @@ -1,416 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 228, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 701, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32", - "id": "36e71dab3809852d2405eb28b790c702876d1368c5a8c2c5ca1a601bab67d3b8", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 175, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11", - "id": "62c206de50149e2a37cc89a4737e53aafba3cdec86127e87633d3e7e2ba3fc65", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json b/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json deleted file mode 100644 index b77765921..000000000 --- a/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json +++ /dev/null @@ -1,416 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - }, - { - "type": "struct", - "name": "BalancesStruct", - "source_mapping": { - "start": 228, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete stackBalance[idx]", - "source_mapping": { - "start": 701, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteBalance", - "source_mapping": { - "start": 595, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Balances", - "source_mapping": { - "start": 199, - "length": 866, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteBalance(uint256)" - } - } - } - } - ], - "description": "Balances.deleteBalance(uint256) (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32", - "id": "be5ede96c6fee54dfce4422097c8fedb873edf56795b146bda5a64bf4dda87d3", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - }, - { - "type": "struct", - "name": "MyStruct", - "source_mapping": { - "start": 47, - "length": 61, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "delete st[0]", - "source_mapping": { - "start": 175, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Lib", - "source_mapping": { - "start": 29, - "length": 168, - "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSt(Lib.MyStruct[1])" - } - } - } - } - ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11", - "id": "e60cb56bfbbca04e075ecc29366ae58fcdd9ee4dc865f8b0094f7ea5394b92a0", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json b/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json deleted file mode 100644 index a3dc88481..000000000 --- a/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json b/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json deleted file mode 100644 index 85d422120..000000000 --- a/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json b/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json deleted file mode 100644 index 5c992d241..000000000 --- a/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json b/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json deleted file mode 100644 index ff13fef9e..000000000 --- a/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Something", - "source_mapping": { - "start": 68, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "ISomething", - "source_mapping": { - "start": 0, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "Something (tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol#L5-L10", - "id": "58962dc72a6c49524a027e8e1615ab92be30f1a0f5ef0eb4a029204687159649", - "check": "missing-inheritance", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json b/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json deleted file mode 100644 index 528c5c312..000000000 --- a/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 706, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 687, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call.value(msg.value)()", - "source_mapping": { - "start": 740, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 687, - "length": 112, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28", - "id": "544803ccc40b7173048033bb584b82acf387458db7d524dd0b19304d734b5da0", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 511, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 488, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 545, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 488, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23", - "id": "905cc3a02bbc7be7f1c14c8f4c825dfb00d1ab3a5090f4ad447c10422b443a04", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 393, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 370, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 427, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 370, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19", - "id": "9568826f86b5efbcef2979632d0817fc45c2af86306f82169a179e9f79b44a57", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10", - "id": "b3ed5b509e79b10fb11c06792bc1bbea4110fee55583a43a38d79d2048c613f1", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 290, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 340, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 1977, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14", - "id": "fa7268ec4d72f167f61bdc17b887b27ac333d895b5a3827fcd7bfca395d349f4", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json b/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json deleted file mode 100644 index 9e048e04a..000000000 --- a/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19", - "id": "29db16277296360f7c637e16b59118e50ab70e3122f09c006f234dbf93ea13f6", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call.value(msg.value)()", - "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28", - "id": "9c6ff3aef7b83b809a20128ba0e37b41e372536a7c00f5102f47dd2108e0c637", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10", - "id": "b180df9baff938a7cbf352a98d3f08ef7b28b8988f646501a82d249385277dde", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23", - "id": "c84a2e53313b2eeb0587d13197812e88d1bed8509570ec333ebf21c9b0aed68d", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 348, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14", - "id": "de1c8c305b18cb8b7a1ed68aad59db3e1b058cff9d003bee9f6b40aaf9f0d859", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json b/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json deleted file mode 100644 index 688a270f4..000000000 --- a/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19", - "id": "442dd9d8ab9bcdac1d8ff21404ec8b21d517cfb1601b16abf969175ef0c2be5b", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10", - "id": "4c88f4398c0c3744179e7766d1d37259cd78e17d4295fa26aeb4b857aee5eea1", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 348, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14", - "id": "e2713744ad519d45431324a0d9c81e886bcbfc85d09518af215830c73451ff41", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call.value(msg.value)()", - "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28", - "id": "e8a430e2c04153f1b71097d5bfd3889508325fa8eac71d27557338053138382b", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23", - "id": "f526bdc00d5c7d9ac356dd58801eb48db5fd6f3bdfc28812e0a183cd9cfa3fd6", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json b/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json deleted file mode 100644 index afaceab84..000000000 --- a/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json +++ /dev/null @@ -1,1472 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 256, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.send(msg.value)", - "source_mapping": { - "start": 348, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1_send", - "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1_send(address)" - } - } - } - } - ], - "description": "C.bad1_send(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14", - "id": "2dfc801d756c1571f9e02d3506682b5712639e0223155e04545a3ee91d7c9ef8", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3_transfer", - "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3_transfer(address)" - } - } - } - } - ], - "description": "C.bad3_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23", - "id": "5afb93bf3ba0c95d60e0f21547c13aba7fe5b7f22df69d8405c8c701d7e7fae7", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 22, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.call{value: msg.value}()", - "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4_call", - "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4_call(address)" - } - } - } - } - ], - "description": "C.bad4_call(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call{value: msg.value}() (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call{value: msg.value}()](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28", - "id": "a7cc8d499df4abc336e824829e21282bf675383376d3a8503991fb66c158fb33", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "addr", - "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 26, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - }, - { - "type": "node", - "name": "addr.transfer(msg.value)", - "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_transfer", - "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 19, - 20, - 21 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2_transfer(address)" - } - } - } - } - ], - "description": "C.bad2_transfer(address).addr (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19", - "id": "d2328d61a9a38239f4d1b59c12b409f399408cd478a6603207e9fe645a13d03f", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_owner", - "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 27, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = new_owner", - "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0_set_owner", - "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 2049, - "filename_relative": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0_set_owner(address)" - } - } - } - } - ], - "description": "C.bad0_set_owner(address).new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10", - "id": "fa1b673ca923bd1e66e6af3aacc82cef33b264cebf753032dbee23be1f62645e", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json b/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json deleted file mode 100644 index 430a11319..000000000 --- a/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L5-L9", - "id": "3874d3c7006d6d7671320db653fcc2dd0ef0fd9c1337c4c509670839ad4046a2", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L21-L27", - "id": "3a3cc8fae7c0d90880077b656ffaca0ddfd90bf9fc0763cd3d17e6151e935541", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol#L17-L19", - "id": "4bffc492aeda82de77a2d9ab055133609e03c430266919d983a7e46b85e4eeba", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json b/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json deleted file mode 100644 index 968ded84f..000000000 --- a/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L21-L27", - "id": "1b4d9d1f725152eee13a5269b97a8443297f7f598051bfc4f67e93e02c12f165", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L17-L19", - "id": "406d8b51b71b115c08b097999756740459200deeb3c12901b301f32611f1b330", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol#L5-L9", - "id": "8e4fef885c77d029459f90c7aff4b459dce05adc08b96fb80ce821611c9280d6", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json b/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json deleted file mode 100644 index 01e99cd49..000000000 --- a/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L17-L19", - "id": "097df3a5df3bcbc6783595f78fab5791b2cd9413acabcb0aa5694ff7d4309261", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L5-L9", - "id": "3a08148f1a55375f90c551e5841d47f4846720e07afa57707753a76e727adef7", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol#L21-L27", - "id": "78e8f933f8386fd2534f6fcf4908da3ac17d4362c1e605f31471eee0cc6ca833", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json b/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json deleted file mode 100644 index 21f59fbda..000000000 --- a/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L17-L19", - "id": "565d76d19b082213e2aa31539b92593aede0e05d05828605c676e92609fbf8a2", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L21-L27", - "id": "a711edee77437e7c35f4fa394c4fab613c39c581565149c7c82539481218e16c", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol#L5-L9", - "id": "fe6437a4c09b3dec514d996c7f6668d90b5ca1a73a8480d553e484952c24d34b", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json b/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json deleted file mode 100644 index 46158ce52..000000000 --- a/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - }, - { - "type": "node", - "name": "balances[a] += msg.value", - "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2_internal", - "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2_internal(address)" - } - } - } - } - ], - "description": "C.bad2_internal(address) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L17-L19", - "id": "093432027e9375993ba8dd36a6e36399dd18201c491d84b7e8810d06d4837141", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[j]] += msg.value", - "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 17, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address[])" - } - } - } - } - ], - "description": "C.bad3(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L21-L27", - "id": "7028c125d1fea9be89c5b58a4bd84c0f92c8c69ac05389c95f9a68d145130861", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - }, - { - "type": "node", - "name": "balances[receivers[i]] += msg.value", - "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 763, - "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad(address[])" - } - } - } - } - ], - "description": "C.bad(address[]) (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol#L5-L9", - "id": "fb7f5216a245e3c793c726ea4bbfbf4e2b6a769f99304efee6f8e2ab505280c3", - "check": "msg-value-loop", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json b/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json deleted file mode 100644 index ff4e9a248..000000000 --- a/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 29, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 77, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "A()" - } - } - ], - "description": "A (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#1-14) contains multiple constructors in the same contract:\n\t- A.constructor() (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#3-5)\n\t- A.A() (tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#6-8)\n", - "markdown": "[A](tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L1-L14) contains multiple constructors in the same contract:\n\t- [A.constructor()](tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L3-L5)\n\t- [A.A()](tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L6-L8)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L1-L14", - "id": "704cdb1c05e919913c22befaf077b9585bc75e31b5033fa46c930ad82dc6852e", - "check": "multiple-constructors", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json deleted file mode 100644 index b89371032..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json deleted file mode 100644 index 12a853f5c..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json deleted file mode 100644 index 49d7f52ec..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json deleted file mode 100644 index 97332650a..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json +++ /dev/null @@ -1,1372 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "struct", - "name": "test", - "source_mapping": { - "start": 229, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct naming.test (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L14-L16", - "id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L69", - "id": "12df12bbda2059673d356e5c32ec4e8a037a3821c9fa42b831a9144437cb79f9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "I", - "source_mapping": { - "start": 932, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.I (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#69) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.I](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L69) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L69", - "id": "2ac65aa5bb560436d64f16e164aaab90dbbf38d683bfdfdfb42eeb225fc51759", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L68", - "id": "2de986dda91f7c7e3a51470aa43abfa2c6fd363b742d1bbd38d5287ae179b83a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Var_One", - "source_mapping": { - "start": 185, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable naming.Var_One (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L11", - "id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "MY_other_CONSTANT", - "source_mapping": { - "start": 143, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable_constant", - "convention": "UPPER_CASE_WITH_UNDERSCORES" - } - } - ], - "description": "Constant naming.MY_other_CONSTANT (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L9", - "id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract naming (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L3-L48", - "id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "enum", - "name": "numbers", - "source_mapping": { - "start": 79, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "enum", - "convention": "CapWords" - } - } - ], - "description": "Enum naming.numbers (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L6", - "id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_used", - "source_mapping": { - "start": 794, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59 - ], - "starting_column": 33, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 766, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 59, - 60 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter T.test(uint256,uint256)._used (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L59", - "id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_myPublicVar", - "source_mapping": { - "start": 741, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 5, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable T._myPublicVar (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L56", - "id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "event_", - "source_mapping": { - "start": 335, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "event_(uint256)" - }, - "additional_fields": { - "target": "event", - "convention": "CapWords" - } - } - ], - "description": "Event namingevent_(uint256) (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L23", - "id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "O", - "source_mapping": { - "start": 916, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.O (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#68) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.O](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L68) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L68", - "id": "b341001642225c62eae76fef9879c80003b3134b3bc627d9b1912ebcd190304b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CantDo", - "source_mapping": { - "start": 591, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "CantDo()" - }, - "additional_fields": { - "target": "modifier", - "convention": "mixedCase" - } - } - ], - "description": "Modifier naming.CantDo() (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L41-L43", - "id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "GetOne", - "source_mapping": { - "start": 440, - "length": 75, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "GetOne()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function naming.GetOne() (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L30-L33", - "id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "l", - "source_mapping": { - "start": 900, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 67 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "T", - "source_mapping": { - "start": 692, - "length": 253, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "l_O_I_should_not_be_used" - } - } - ], - "description": "Variable T.l (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#67) is single letter l, O, or I, which should not be used\n", - "markdown": "Variable [T.l](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L67) is single letter l, O, or I, which should not be used\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L67", - "id": "cb8668afe6ed1284c935ac95f8f9cb1407f96226fe741e7310d104d5f10a0fc6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "Number2", - "source_mapping": { - "start": 551, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35 - ], - "starting_column": 35, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInt", - "source_mapping": { - "start": 521, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "naming", - "source_mapping": { - "start": 28, - "length": 642, - "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInt(uint256,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol#L35", - "id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json b/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json deleted file mode 100644 index 0761b2488..000000000 --- a/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.4.24", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.4", - ".24" - ] - } - }, - { - "type": "pragma", - "name": "^0.4.25", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.4", - ".25" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- ^0.4.24 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#1)\n\t- ^0.4.25 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- [^0.4.24](tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#L1)\n\t- [^0.4.25](tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol#L1)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#L1", - "id": "346aaa435d432d40cf79b02d73faab579d8543fad3d1166da4ce14fe08207281", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json deleted file mode 100644 index 74590cf5f..000000000 --- a/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.15", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".15" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.16", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".16" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- ^0.5.15 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#1)\n\t- ^0.5.16 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- [^0.5.15](tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#L1)\n\t- [^0.5.16](tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol#L1)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#L1", - "id": "8719cceac46e48000519ed201bfc4b5614e74d18e3a2bee5eaef780e4c781b8b", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json deleted file mode 100644 index 6a9fb98b7..000000000 --- a/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.6.10", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.6", - ".10" - ] - } - }, - { - "type": "pragma", - "name": "^0.6.11", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.6", - ".11" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- ^0.6.10 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#1)\n\t- ^0.6.11 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- [^0.6.10](tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#L1)\n\t- [^0.6.11](tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol#L1)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#L1", - "id": "008f981322580b1555b5ff7f437a225ad8edec5f3f663e9cb3b67edf9f1330fc", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json deleted file mode 100644 index fe1c878f8..000000000 --- a/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.7.5", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.7", - ".5" - ] - } - }, - { - "type": "pragma", - "name": "^0.7.6", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.7", - ".6" - ] - } - } - ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- ^0.7.5 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#1)\n\t- ^0.7.6 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol#1)\n", - "markdown": "Different versions of Solidity are used:\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- [^0.7.5](tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#L1)\n\t- [^0.7.6](tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol#L1)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#L1", - "id": "cc4121efef895d7909b1f1b353bf8e99df737389afbe71ace29e78d9a71f3100", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json b/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json deleted file mode 100644 index 1706185bc..000000000 --- a/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json +++ /dev/null @@ -1,400 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "buggy", - "source_mapping": { - "start": 938, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Internal", - "source_mapping": { - "start": 742, - "length": 331, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "buggy()" - } - }, - { - "type": "function", - "name": "onlyOwner", - "source_mapping": { - "start": 844, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Internal", - "source_mapping": { - "start": 742, - "length": 331, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "onlyOwner()" - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 822, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 38 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Internal", - "source_mapping": { - "start": 742, - "length": 331, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "Internal.buggy() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#47-49) should have Internal.onlyOwner() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#42-45) to protect Internal.owner (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#38)\n", - "markdown": "[Internal.buggy()](tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L47-L49) should have [Internal.onlyOwner()](tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L42-L45) to protect [Internal.owner](tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L38)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L47-L49", - "id": "347d5dbdb03710066bc29d7772156fe5ff3d3371fa4eee4839ee221a1d0de0a4", - "check": "protected-vars", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "set_not_protected", - "source_mapping": { - "start": 653, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyAndWrite", - "source_mapping": { - "start": 55, - "length": 685, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "set_not_protected()" - } - }, - { - "type": "function", - "name": "onlyOwner", - "source_mapping": { - "start": 210, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyAndWrite", - "source_mapping": { - "start": 55, - "length": 685, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "onlyOwner()" - } - }, - { - "type": "variable", - "name": "external_contract", - "source_mapping": { - "start": 184, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyAndWrite", - "source_mapping": { - "start": 55, - "length": 685, - "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ReentrancyAndWrite.set_not_protected() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#31-33) should have ReentrancyAndWrite.onlyOwner() (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#11-14) to protect ReentrancyAndWrite.external_contract (tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#9)\n", - "markdown": "[ReentrancyAndWrite.set_not_protected()](tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L31-L33) should have [ReentrancyAndWrite.onlyOwner()](tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L11-L14) to protect [ReentrancyAndWrite.external_contract](tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol#L31-L33", - "id": "3f3bc8c8a9b3e23482f47f1133aceaed81c2c781c6aaf25656a8e578c9f6cb0e", - "check": "protected-vars", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json b/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json deleted file mode 100644 index e3801df68..000000000 --- a/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testMapping", - "source_mapping": { - "start": 265, - "length": 47, - "filename_relative": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Bug", - "source_mapping": { - "start": 138, - "length": 345, - "filename_relative": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Bug.testMapping (tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol#14) is a public mapping with nested variables\n", - "markdown": "[Bug.testMapping](tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14) is a public mapping with nested variables\n", - "first_markdown_element": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14", - "id": "100978112524def620b003331f34b2b51eb78cae6f7eb2793d9671b4b7bb858a", - "check": "public-mappings-nested", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json b/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json deleted file mode 100644 index 0005e2a15..000000000 --- a/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L7", - "id": "57e17d7362f3d5c310d21eb6b73eccb845f8a3c52a308d15af3c118b5e2caaef", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L12", - "id": "5e4c867c59bdbc386d4fd243aef79d957c92f8a40729b744096cd96989807c28", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L14", - "id": "635ad486b2aae108ff617146f22695a532e84c44a184bb609ececa744c91a497", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L8", - "id": "bcab82b93dc328a381dbd74ce83caf2ae429382bff9e0b482f9355bfcf029f98", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L6", - "id": "c191e3e65af68e401996255ec75e9a8e990dc47205f36a49476bcd01e5753f79", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol#L13", - "id": "f36295bb4a93b2cd2940d435d827e82bb21d70801d2b71ce1c84585153112f9f", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json b/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json deleted file mode 100644 index 47268f265..000000000 --- a/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L13", - "id": "31b46936fd424a2a3125e5ce6408b20bedc3c6ca5c5c97e406c1cf43abae4bb4", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L7", - "id": "3581fd720d146e690bb9ecfc0c1b059395cf4d46f69d7d2f802d8a9194b723ae", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L12", - "id": "6f6a44cfade49a4a2e0310135fe0e83df0083b76c60daaf6d0864386d3485d6a", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L6", - "id": "7e36dd98fc04d79e6f5f56f606fc38f3c20d1bada8eed5daa2695deadebbb361", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L8", - "id": "9c1239d64c216412cd356b9c4b8104baeb9f4f6dd110533b2392be410e68f946", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol#L14", - "id": "b940d13da80841d1d7760c8b7b0bfcaf1c9eec6f8b7cd94b490db5efddf36cb7", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json b/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json deleted file mode 100644 index 7bd6500d4..000000000 --- a/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L12", - "id": "36a2feec0c5aa47c304207db4aa17181086bd3131720656fbf8619924e303a45", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L7", - "id": "5e31be7e1558881cfd23ee013c1a7e1a51e9842a404133611755432d612169c4", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L8", - "id": "7b15d1a763fe71def2468433dab345b5922d874a86bd2a2dfefbb3a08d11317c", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L6", - "id": "839e1eef447843981948ab172340fecb29ba20c989a3762a404d6b0f9f4b68ae", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L14", - "id": "8738d80351735e9090a90f8970736608a17979b06f654baf3dcfdc8ebed4f53a", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol#L13", - "id": "ab124cc40de408c2d4f0eb055ed421f31c65ccc9de11edb8761de84c3557fdb1", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json b/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json deleted file mode 100644 index 797bdda30..000000000 --- a/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json +++ /dev/null @@ -1,715 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L12", - "id": "17a6cb4a5c342753c8636d8af683b1d2b94e3a36dd05a19cee2336bc3a1b2f47", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "test", - "source_mapping": { - "start": 287, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"test (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L14", - "id": "4634ed5f2678141abaf73e85411ed25985f3916ad0db348b6923a15a43fabf32", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "assert(bool)", - "source_mapping": { - "start": 271, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "test()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"assert(bool) (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L13", - "id": "6971a500d684a342208eff16cc1f07abbf73f3ba86dbe7386570bdd8e489fc91", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"RedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L8", - "id": "6a2742272d79ff94d551adebc3a936866e15bc20c3c75238555435365118d382", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "bool", - "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"bool (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L7", - "id": "703f162d107fded4a6f9e8f1fc0e49529967c9bfdfb5fc401568e6f48d417926", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "node", - "name": "uint256", - "source_mapping": { - "start": 141, - "length": 4, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "constructor()" - } - } - } - }, - { - "type": "contract", - "name": "RedundantStatementsContract", - "source_mapping": { - "start": 66, - "length": 254, - "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 0 - } - } - ], - "description": "Redundant expression \"uint256 (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol#L6", - "id": "f21ab6ffea325fedf7d0c0548b552dde439e1859af0cc8811a5a0be792663502", - "check": "redundant-statements", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json b/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json deleted file mode 100644 index b44c22620..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json +++ /dev/null @@ -1,4814 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 495, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 495, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 561, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#23-27):\n\tExternal calls:\n\t- success = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#24)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#26)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23-L27):\n\tExternal calls:\n\t- [success = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L24)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23-L27", - "id": "4ed6ddcc769b17b5a3737f7dafe5651bf4e5ffcbb574810d743cc09a0a703ede", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 359, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 359, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 423, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 322, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#16-21):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#20)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L16-L21):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L20)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L16-L21", - "id": "5c7237b5a2a9e1ad35da0f99ff70fbc418319a1c1218cededb9d75f99699a46a", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1008, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1040, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1008, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1040, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1071, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 961, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1501, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#46-51):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#47)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#60)\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#48)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#48)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#49)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46-L51):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L47)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L60)\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L48)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L48)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L49)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46-L51", - "id": "8dc3fae54d7cfaf76e3de349febceb751f085423bdbf7a76eb5c86a70f3129aa", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 877, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 877, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 909, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1501, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#40-44):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#41)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#60)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#42)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40-L44):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L41)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L60)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L42)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40-L44", - "id": "b410e9af3db5ba2a1c0d8d55f35a64120d2a15c45099ffae2f35cfe003a3fed3", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 633, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 700, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 13, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "success = target.call()", - "source_mapping": { - "start": 633, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 700, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 13, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 748, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#29-38):\n\tExternal calls:\n\t- success = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#30)\n\t- address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#33)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L29-L38):\n\tExternal calls:\n\t- [success = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L30)\n\t- [address(target).call.value(1000)()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L33)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L29-L38", - "id": "bd8ab3b91a42e51b2da0716331de604898a69d29ac9100eb95681a5a7d3f9c47", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1184, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1215, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1501, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#53-57):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#54)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#55)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L53-L57):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L54)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L55)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol#L53-L57", - "id": "fbfcc9d6336f34b7ee7673a85a38d0a012fa736517fa999c118486aa4313a4d2", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json b/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json deleted file mode 100644 index 6b0fc0322..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json +++ /dev/null @@ -1,4855 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 965, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45", - "id": "154bd4fe54b895374ec9300b7d7423b290821b97d48ce594f13efb080ccc070a", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 471, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22", - "id": "244b43e33a9621616a0f97aece5e591ba53563a2178624d90cb056422988824d", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1242, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1273, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58", - "id": "949d5134548c079237abef52d623106e7e3e777d1eb4d89f47f64ae5025ec29a", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1127, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52", - "id": "a2ff3f26be25c48b10b66f8121b35b0674cfb38309a1f6ba3788852f13e7d166", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 612, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28", - "id": "e7250d07da93991bb8f92df7697c008c36ec785214f7836c4f1c65b37e175309", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 804, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39", - "id": "efb5fc52ea69459d644e5074daf0207502967de06e5b3cf876ae71a564d72d98", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json b/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json deleted file mode 100644 index 3911f2b0b..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json +++ /dev/null @@ -1,4855 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1127, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47-L52", - "id": "29c069745bf3c12b90fd74cf138f7300e077b078dae17e285fd528aaacb7a149", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 965, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41-L45", - "id": "56fad41e825218b4ea67b8f40f78becc7db05f1f9b3a79becede85b495be20f8", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call.value(1000)()", - "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 804, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L30-L39", - "id": "61f1a1c0a75fec4cea251d935d09700f433422562fac941b49c4060ca13c43cb", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 612, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24-L28", - "id": "6b0541d8db6bf0dc2835d8b19d09afa8f5e7b214d0e4c05b6aca0c625316fb19", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1242, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call.value(1)()", - "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1273, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L54-L58", - "id": "7ffffc2f58dc006f2f543c361a4eb944fe1d6e58f52717b6770745e29593a91b", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 471, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16-L22", - "id": "d36181ad9dbae588e0ab4f4689a9675a8afd9cf3f8a5f49ab6fbe3ee46016712", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json b/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json deleted file mode 100644 index 301b60756..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json +++ /dev/null @@ -1,4855 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 926, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 926, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 958, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad3(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45", - "id": "57b2ad2ee5a85c48036d5e0a8e7b7d301256c1f692d6ff140516dd1ebaf4ae7d", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 677, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1000}()", - "source_mapping": { - "start": 747, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 677, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1000}()", - "source_mapping": { - "start": 747, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 797, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 13, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad2(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#31)\n\t- address(target).call{value: 1000}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call{value: 1000}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L31)\n\t- [address(target).call{value: 1000}()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call{value: 1000}()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39", - "id": "8ffb53b6e7211ef3840068c9971a02666e80ffd49661cfe391abe977b26696fc", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1235, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 55 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1}()", - "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1266, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad5(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#55)\n\t\t- address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L55)\n\t\t- [address(target).call{value: 1}()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58", - "id": "9ea4f876bdd562affa79eb256f24f2b4d36f6c488107451a724e247a01051dc6", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1057, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1089, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1}()", - "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1057, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 48 - ], - "starting_column": 9, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call()", - "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 61 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "externalCaller", - "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "externalCaller(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "ethSender(address(0))", - "source_mapping": { - "start": 1089, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "address(target).call{value: 1}()", - "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "ethSender", - "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "ethSender(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "varChanger()", - "source_mapping": { - "start": 1120, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad4(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - }, - { - "type": "node", - "name": "anotherVariableToChange ++", - "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "varChanger", - "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 68, - 69, - 70 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "varChanger()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52", - "id": "d8ad62c290ebe6f6eba92d21f77ea938d9d713700e72d0eca1a007d9526a226e", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 536, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = target.call()", - "source_mapping": { - "start": 536, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 605, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28", - "id": "dc9321d7bad1a38e7ec848d79ac28b7ebdeb537afe5a753d05308f9575acaa53", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 361, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 361, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "counter += 1", - "source_mapping": { - "start": 464, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 21 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyBenign", - "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22", - "id": "df1508d1cd0b80a365e0b0d1c11033a99ff078a905637351fb74c53292a98582", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json deleted file mode 100644 index 325c82826..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json +++ /dev/null @@ -1,9301 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - }, - { - "type": "node", - "name": "extraBalance.balance >= extraBalance.accumulatedInput()", - "source_mapping": { - "start": 11704, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 321 - ], - "starting_column": 17, - "ending_column": 72 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "extraBalance.payOut(address(this),extraBalance.accumulatedInput())", - "source_mapping": { - "start": 11777, - "length": 67, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 322 - ], - "starting_column": 17, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.call.value(weiGiven[msg.sender])()", - "source_mapping": { - "start": 11893, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 325 - ], - "starting_column": 17, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.call.value(weiGiven[msg.sender])()", - "source_mapping": { - "start": 11893, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 325 - ], - "starting_column": 17, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "weiGiven[msg.sender] = 0", - "source_mapping": { - "start": 12111, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 329 - ], - "starting_column": 17, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TokenCreation", - "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "refund()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "weiGiven" - } - } - ], - "description": "Reentrancy in TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#318-332):\n\tExternal calls:\n\t- extraBalance.balance >= extraBalance.accumulatedInput() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#321)\n\t- extraBalance.payOut(address(this),extraBalance.accumulatedInput()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#322)\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#325)\n\tExternal calls sending eth:\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#325)\n\tState variables written after the call(s):\n\t- weiGiven[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#329)\n\tTokenCreationInterface.weiGiven (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#251) can be used in cross function reentrancies:\n\t- TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#318-332)\n", - "markdown": "Reentrancy in [TokenCreation.refund()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L318-L332):\n\tExternal calls:\n\t- [extraBalance.balance >= extraBalance.accumulatedInput()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L321)\n\t- [extraBalance.payOut(address(this),extraBalance.accumulatedInput())](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L322)\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tExternal calls sending eth:\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tState variables written after the call(s):\n\t- [weiGiven[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L329)\n\t[TokenCreationInterface.weiGiven](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L251) can be used in cross function reentrancies:\n\t- [TokenCreation.createTokenProxy(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L318-L332)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L318-L332", - "id": "a37226350e559b6bdb008757f6a66b89aab30256fc993719662092bb46b60b6c", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - }, - { - "type": "node", - "name": "! isRecipientAllowed(p.recipient)", - "source_mapping": { - "start": 33981, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 881 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())", - "source_mapping": { - "start": 43091, - "length": 289, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1159, - 1160, - 1161, - 1162, - 1163 - ], - "starting_column": 13, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "isRecipientAllowed", - "source_mapping": { - "start": 42994, - "length": 457, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isRecipientAllowed(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! p.recipient.call.value(p.amount)(_transactionData)", - "source_mapping": { - "start": 35109, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 915 - ], - "starting_column": 17, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! p.creator.send(p.proposalDeposit)", - "source_mapping": { - "start": 34718, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 904 - ], - "starting_column": 17, - "ending_column": 51 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! p.recipient.call.value(p.amount)(_transactionData)", - "source_mapping": { - "start": 35109, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 915 - ], - "starting_column": 17, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "p.proposalPassed = true", - "source_mapping": { - "start": 35198, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 918 - ], - "starting_column": 13, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "closeProposal(_proposalID)", - "source_mapping": { - "start": 35817, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 933 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.open = false", - "source_mapping": { - "start": 36121, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 944 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "closeProposal", - "source_mapping": { - "start": 35940, - "length": 202, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 940, - 941, - 942, - 943, - 944, - 945 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "closeProposal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "rewardToken[address(this)] += p.amount", - "source_mapping": { - "start": 35698, - "length": 38, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 928 - ], - "starting_column": 17, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "rewardToken" - } - }, - { - "type": "node", - "name": "closeProposal(_proposalID)", - "source_mapping": { - "start": 35817, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 933 - ], - "starting_column": 9, - "ending_column": 35 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "sumOfProposalDeposits" - } - }, - { - "type": "node", - "name": "sumOfProposalDeposits -= p.proposalDeposit", - "source_mapping": { - "start": 36069, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 943 - ], - "starting_column": 13, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "closeProposal", - "source_mapping": { - "start": 35940, - "length": 202, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 940, - 941, - 942, - 943, - 944, - 945 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "closeProposal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "sumOfProposalDeposits" - } - }, - { - "type": "node", - "name": "totalRewardToken += p.amount", - "source_mapping": { - "start": 35754, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 929 - ], - "starting_column": 17, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "executeProposal(uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "totalRewardToken" - } - } - ], - "description": "Reentrancy in DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937):\n\tExternal calls:\n\t- ! isRecipientAllowed(p.recipient) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#881)\n\t\t- allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1159-1163)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#915)\n\tExternal calls sending eth:\n\t- ! p.creator.send(p.proposalDeposit) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#904)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#915)\n\tState variables written after the call(s):\n\t- p.proposalPassed = true (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#918)\n\tDAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#820-850)\n\t- closeProposal(_proposalID) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- p.open = false (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#944)\n\tDAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#820-850)\n\t- rewardToken[address(this)] += p.amount (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#928)\n\tDAOInterface.rewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#410) can be used in cross function reentrancies:\n\t- DAO.changeProposalDeposit(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1139-1146)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.minQuorum(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1174-1178)\n\t- DAO.newContract(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1022-1034)\n\t- DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAOInterface.rewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#410)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- closeProposal(_proposalID) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- sumOfProposalDeposits -= p.proposalDeposit (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#943)\n\tDAOInterface.sumOfProposalDeposits (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#436) can be used in cross function reentrancies:\n\t- DAO.actualBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1169-1171)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- totalRewardToken += p.amount (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#929)\n\tDAOInterface.totalRewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#412) can be used in cross function reentrancies:\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.isRecipientAllowed(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1158-1167)\n\t- DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAOInterface.totalRewardToken (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#412)\n", - "markdown": "Reentrancy in [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L853-L937):\n\tExternal calls:\n\t- [! isRecipientAllowed(p.recipient)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L881)\n\t\t- [allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1159-L1163)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tExternal calls sending eth:\n\t- [! p.creator.send(p.proposalDeposit)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L904)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tState variables written after the call(s):\n\t- [p.proposalPassed = true](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L918)\n\t[DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L820-L850)\n\t- [closeProposal(_proposalID)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [p.open = false](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L944)\n\t[DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L820-L850)\n\t- [rewardToken[address(this)] += p.amount](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L928)\n\t[DAOInterface.rewardToken](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L410) can be used in cross function reentrancies:\n\t- [DAO.changeProposalDeposit(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1139-L1146)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.minQuorum(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1174-L1178)\n\t- [DAO.newContract(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1022-L1034)\n\t- [DAO.retrieveDAOReward(bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAOInterface.rewardToken](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L410)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [closeProposal(_proposalID)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [sumOfProposalDeposits -= p.proposalDeposit](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L943)\n\t[DAOInterface.sumOfProposalDeposits](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L436) can be used in cross function reentrancies:\n\t- [DAO.actualBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1169-L1171)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [totalRewardToken += p.amount](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L929)\n\t[DAOInterface.totalRewardToken](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L412) can be used in cross function reentrancies:\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.isRecipientAllowed(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1158-L1167)\n\t- [DAO.retrieveDAOReward(bool)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAOInterface.totalRewardToken](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L412)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol#L853-L937", - "id": "dfa25972a34c3e5c0b03b9fb544740df3670f21201a99162a9070515009edad3", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json deleted file mode 100644 index ffe13665a..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json +++ /dev/null @@ -1,851 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_nested", - "source_mapping": { - "start": 2465, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_nested()" - } - }, - { - "type": "node", - "name": "msg.sender.call.value(amount / 2)()", - "source_mapping": { - "start": 2620, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 77 - ], - "starting_column": 13, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_nested", - "source_mapping": { - "start": 2465, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_nested()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 2667, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 78 - ], - "starting_column": 13, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_nested", - "source_mapping": { - "start": 2465, - "length": 246, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_nested()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80):\n\tExternal calls:\n\t- msg.sender.call.value(amount / 2)() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#77)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#78)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#15-22)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#33-41)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#43-50)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#52-60)\n\t- Reentrancy.withdrawBalance_fixed_4() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#61-72)\n\t- Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_nested()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80):\n\tExternal calls:\n\t- [msg.sender.call.value(amount / 2)()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L77)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L78)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L15-L22)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L33-L41)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L43-L50)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L52-L60)\n\t- [Reentrancy.withdrawBalance_fixed_4()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L61-L72)\n\t- [Reentrancy.withdrawBalance_nested()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80", - "id": "02b13660e262b6ddcd87c831ffd6118ef52a3dd96eaea287f34310036f826ae5", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 656, - "length": 314, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "! (msg.sender.call.value(userBalance[msg.sender])())", - "source_mapping": { - "start": 839, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 13, - "ending_column": 66 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 656, - "length": 314, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 936, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 656, - "length": 314, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 26, - "length": 2691, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31):\n\tExternal calls:\n\t- ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#27)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#30)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#15-22)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#24-31)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#33-41)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#43-50)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#52-60)\n\t- Reentrancy.withdrawBalance_fixed_4() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#61-72)\n\t- Reentrancy.withdrawBalance_nested() (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#74-80)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31):\n\tExternal calls:\n\t- [! (msg.sender.call.value(userBalance[msg.sender])())](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L27)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L30)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L15-L22)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L33-L41)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L43-L50)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L52-L60)\n\t- [Reentrancy.withdrawBalance_fixed_4()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L61-L72)\n\t- [Reentrancy.withdrawBalance_nested()](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31", - "id": "7dffb7128bc810a3e2e53da77fd0d3e3a6764329bd89d4ff96aa7aaa195627b9", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json deleted file mode 100644 index 1a719e67b..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 742, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 681, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 829, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 873, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 639, - "length": 278, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 185, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29", - "id": "17e756180e486527f07db2b6b810136a45beec8f495e04d32e653cbb02e186b1", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json deleted file mode 100644 index aeb67cc4d..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json +++ /dev/null @@ -1,761 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()", - "source_mapping": { - "start": 882, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 90 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 1026, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33", - "id": "c298e6c5caff5538e11c6f1ca18d56cf9d54d0ce9aa411be080ecfd0c4c54d4b", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(amount)()", - "source_mapping": { - "start": 2084, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = amount", - "source_mapping": { - "start": 2183, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 62 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64", - "id": "f9420c25fc0bce840e980bfd4c13aabe760a260cbcca4218873c9c536f0b15ad", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json deleted file mode 100644 index 3ddbba506..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 782, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 721, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 869, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 913, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 671, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 202, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29", - "id": "2ce339e4f254ce27e1272b4f5f3d005a0614016e20463d51415ba8f842565052", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json deleted file mode 100644 index 36070aee3..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json +++ /dev/null @@ -1,761 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1843, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(amount)()", - "source_mapping": { - "start": 2088, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1843, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = amount", - "source_mapping": { - "start": 2187, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 62 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1843, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64", - "id": "26d55b7569799393de981b4e1294f2f6d2d3e0f7b8d700fe40ab98c5940bbf93", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 707, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()", - "source_mapping": { - "start": 886, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 90 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 707, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 1030, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 707, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2213, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33", - "id": "c5f80f289a9e72f1134ab9af607176df7d12bdab173b8d66523f55eb387053a8", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json deleted file mode 100644 index da679a2c0..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 807, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 746, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 894, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 938, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29", - "id": "875860f8833c21533ebd104610793a7dce7464b0b69206111568e4fad87b1296", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json deleted file mode 100644 index f2ea87885..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json +++ /dev/null @@ -1,761 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call{value: amount}()", - "source_mapping": { - "start": 2084, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = amount", - "source_mapping": { - "start": 2183, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 62 - ], - "starting_column": 13, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance_fixed_3", - "source_mapping": { - "start": 1839, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance_fixed_3()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: amount}()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64", - "id": "7060c71a1bebcb2af4c41dcd75540db5066eb8daf1e22d70e2ddfe0b346ebc97", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - }, - { - "type": "node", - "name": "(ret,mem) = msg.sender.call{value: userBalance[msg.sender]}()", - "source_mapping": { - "start": 882, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 90 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "userBalance[msg.sender] = 0", - "source_mapping": { - "start": 1026, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawBalance", - "source_mapping": { - "start": 703, - "length": 357, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 28, - "length": 2209, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawBalance()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "userBalance" - } - } - ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: userBalance[msg.sender]}() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: userBalance[msg.sender]}()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33", - "id": "cec0a7af1ea200527f6cae87c979e9d4847cd646fa9aff3e4d60e2fb52ac9974", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json deleted file mode 100644 index 93dc2049f..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json +++ /dev/null @@ -1,440 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - }, - { - "type": "node", - "name": "require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))", - "source_mapping": { - "start": 807, - "length": 76, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "msg.sender.transfer(eth_deposed[token][msg.sender])", - "source_mapping": { - "start": 746, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "eth_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 894, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "eth_deposed" - } - }, - { - "type": "node", - "name": "token_deposed[token][msg.sender] = 0", - "source_mapping": { - "start": 938, - "length": 36, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 45 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 696, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reentrancy", - "source_mapping": { - "start": 227, - "length": 758, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "token_deposed" - } - } - ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29", - "id": "57b8ea5ef49cfc6c27d5a658eaf5d88d46f4158a7235777f2e37cb17590a57e4", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json deleted file mode 100644 index 627829853..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json +++ /dev/null @@ -1,231 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 133, - "length": 194, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 534, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 231, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 133, - "length": 194, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 534, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 290, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 133, - "length": 194, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 534, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#10)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#11)\n\tTestWithBug.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#6) can be used in cross function reentrancies:\n\t- TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12)\n\t- TestWithBug.withdrawFiltered(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#15-19)\n", - "markdown": "Reentrancy in [TestWithBug.withdraw(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L10)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L11)\n\t[TestWithBug.balances](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L6) can be used in cross function reentrancies:\n\t- [TestWithBug.withdraw(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12)\n\t- [TestWithBug.withdrawFiltered(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L15-L19)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12", - "id": "a39e8bc9ea5df1e8d350cd5043066f0d6db8cf3e3b6951385d51bfe675a1a654", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json deleted file mode 100644 index 52082ae94..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json +++ /dev/null @@ -1,981 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugInternal", - "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 1429, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugInternal", - "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 1488, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugInternal", - "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBugInternal.withdraw_internal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#62-66):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#64)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#65)\n\tTestWithBugInternal.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#52) can be used in cross function reentrancies:\n\t- TestWithBugInternal.withdraw_all_internal() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#72-76)\n", - "markdown": "Reentrancy in [TestWithBugInternal.withdraw_internal(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L62-L66):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L64)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L65)\n\t[TestWithBugInternal.balances](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L52) can be used in cross function reentrancies:\n\t- [TestWithBugInternal.withdraw_all_internal()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L72-L76)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L62-L66", - "id": "4f446ae8b35f194e5708d12c386d122923fc4f63c17ee05d466b0aa69cd872fc", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 181, - "length": 207, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 292, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 181, - "length": 207, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 351, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 181, - "length": 207, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBug", - "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBug.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#13-17):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#15)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#16)\n\tTestWithBug.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#7) can be used in cross function reentrancies:\n\t- TestWithBug.withdraw_all() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#19-23)\n", - "markdown": "Reentrancy in [TestWithBug.withdraw(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L13-L17):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L15)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L16)\n\t[TestWithBug.balances](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L7) can be used in cross function reentrancies:\n\t- [TestWithBug.withdraw_all()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L19-L23)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L13-L17", - "id": "8b16f075685a85086648e20e2b9cc6b92f6acffd5aeb569fd7a12aac2e536c7d", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 2749, - "length": 205, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 122, - 123, - 124, - 125, - 126 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestBugWithPublicVariable", - "source_mapping": { - "start": 2516, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 2858, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 124 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 2749, - "length": 205, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 122, - 123, - 124, - 125, - 126 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestBugWithPublicVariable", - "source_mapping": { - "start": 2516, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 2917, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 125 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw_internal", - "source_mapping": { - "start": 2749, - "length": 205, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 122, - 123, - 124, - 125, - 126 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestBugWithPublicVariable", - "source_mapping": { - "start": 2516, - "length": 441, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw_internal(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestBugWithPublicVariable.withdraw_internal(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#122-126):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#124)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#125)\n\tTestBugWithPublicVariable.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) can be used in cross function reentrancies:\n\t- TestBugWithPublicVariable.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112)\n", - "markdown": "Reentrancy in [TestBugWithPublicVariable.withdraw_internal(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L122-L126):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L124)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L125)\n\t[TestBugWithPublicVariable.balances](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L112) can be used in cross function reentrancies:\n\t- [TestBugWithPublicVariable.balances](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L112)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L122-L126", - "id": "a5e43c5bba73814bdd39f88d7edf362fca7cdb7efd0b81c8eade67ff4a0685bd", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugNonReentrantRead", - "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - }, - { - "type": "node", - "name": "Receiver(msg.sender).send_funds{value: amount}()", - "source_mapping": { - "start": 3200, - "length": 48, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 140 - ], - "starting_column": 10, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugNonReentrantRead", - "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= amount", - "source_mapping": { - "start": 3259, - "length": 30, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 141 - ], - "starting_column": 10, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdraw", - "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TestWithBugNonReentrantRead", - "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdraw(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - } - ], - "description": "Reentrancy in TestWithBugNonReentrantRead.withdraw(uint256) (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#138-142):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#140)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#141)\n\tTestWithBugNonReentrantRead.balances (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#132) can be used in cross function reentrancies:\n\t- TestWithBugNonReentrantRead.read() (tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#146-149)\n", - "markdown": "Reentrancy in [TestWithBugNonReentrantRead.withdraw(uint256)](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L138-L142):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L140)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] -= amount](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L141)\n\t[TestWithBugNonReentrantRead.balances](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L132) can be used in cross function reentrancies:\n\t- [TestWithBugNonReentrantRead.read()](tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L146-L149)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L138-L142", - "id": "b79d8012bf893f7647d07b05e004a8b921515338c9030856d8fff9d5d80f4bfc", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json b/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json deleted file mode 100644 index a297bb05e..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - }, - { - "type": "node", - "name": "c.f()", - "source_mapping": { - "start": 120, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "E()", - "source_mapping": { - "start": 135, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17", - "id": "6c7667330a55c58c55cce9ae6835edb150459c2c5d86e40406978699fbdeaa11", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json b/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json deleted file mode 100644 index 721b54254..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - }, - { - "type": "node", - "name": "c.f()", - "source_mapping": { - "start": 120, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "E()", - "source_mapping": { - "start": 135, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17", - "id": "57dfae738fee13bc099219197e91ba9d4baee9346b386d5e9789ff7210932775", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json b/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json deleted file mode 100644 index 1b4ea36ae..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - }, - { - "type": "node", - "name": "c.f()", - "source_mapping": { - "start": 120, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "E()", - "source_mapping": { - "start": 135, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug", - "source_mapping": { - "start": 86, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 51, - "length": 193, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug(C)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in Test.bug(C) (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17", - "id": "eb179fcb7697d6ca861dc9623c9733389f70206ab7b0d7d8b2f3469a17a3ab7f", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json deleted file mode 100644 index dc81e0f5d..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,27535 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - }, - { - "type": "node", - "name": "reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender]", - "source_mapping": { - "start": 39789, - "length": 145, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1044, - 1045, - 1046 - ], - "starting_column": 9, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! DAOrewardAccount.payOut(dao.rewardAccount(),reward)", - "source_mapping": { - "start": 39977, - "length": 53, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1048 - ], - "starting_column": 17, - "ending_column": 70 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! DAOrewardAccount.payOut(dao,reward)", - "source_mapping": { - "start": 40100, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1052 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "DAOpaidOut[msg.sender] += reward", - "source_mapping": { - "start": 40180, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1055 - ], - "starting_column": 9, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "retrieveDAOReward", - "source_mapping": { - "start": 39505, - "length": 735, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "retrieveDAOReward(bool)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "DAOpaidOut" - } - } - ], - "description": "Reentrancy in DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057):\n\tExternal calls:\n\t- reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1044-1046)\n\t- ! DAOrewardAccount.payOut(dao.rewardAccount(),reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1048)\n\t- ! DAOrewardAccount.payOut(dao,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1052)\n\tState variables written after the call(s):\n\t- DAOpaidOut[msg.sender] += reward (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1055)\n\tDAOInterface.DAOpaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#423) can be used in cross function reentrancies:\n\t- DAOInterface.DAOpaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#423)\n\t- DAO.newContract(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1022-1034)\n\t- DAO.retrieveDAOReward(bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n", - "markdown": "Reentrancy in [DAO.retrieveDAOReward(bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057):\n\tExternal calls:\n\t- [reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1044-L1046)\n\t- [! DAOrewardAccount.payOut(dao.rewardAccount(),reward)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1048)\n\t- [! DAOrewardAccount.payOut(dao,reward)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1052)\n\tState variables written after the call(s):\n\t- [DAOpaidOut[msg.sender] += reward](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1055)\n\t[DAOInterface.DAOpaidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L423) can be used in cross function reentrancies:\n\t- [DAOInterface.DAOpaidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L423)\n\t- [DAO.newContract(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1022-L1034)\n\t- [DAO.retrieveDAOReward(bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057", - "id": "48ff761b454067eaeae40c5b71f220484bc0dbee9802f41176c9d09f362b1234", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "paidOut[_account] += reward", - "source_mapping": { - "start": 40779, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1072 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - } - ], - "description": "Reentrancy in DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074):\n\tExternal calls:\n\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t- ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- paidOut[_account] += reward (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1072)\n\tDAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.withdrawRewardFor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074):\n\tExternal calls:\n\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t- [! rewardAccount.payOut(_account,reward)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [paidOut[_account] += reward](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1072)\n\t[DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074", - "id": "72166dde55a4b03eff9ca22972a9d44de7afd0f5976f9795dde31801a29f5ddb", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - }, - { - "type": "node", - "name": "p.splitData[0].newDAO = createNewDAO(_newCurator)", - "source_mapping": { - "start": 37159, - "length": 49, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 974 - ], - "starting_column": 13, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)", - "source_mapping": { - "start": 44544, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1196 - ], - "starting_column": 9, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createNewDAO", - "source_mapping": { - "start": 44427, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1194, - 1195, - 1196, - 1197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createNewDAO(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "withdrawRewardFor(msg.sender)", - "source_mapping": { - "start": 38796, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1015 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", - "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1065 - ], - "starting_column": 13, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "balances[msg.sender] = 0", - "source_mapping": { - "start": 38912, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1017 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "paidOut[msg.sender] = 0", - "source_mapping": { - "start": 38946, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1018 - ], - "starting_column": 9, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "totalSupply -= balances[msg.sender]", - "source_mapping": { - "start": 38867, - "length": 35, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1016 - ], - "starting_column": 9, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "totalSupply" - } - } - ], - "description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\t- withdrawRewardFor(msg.sender) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1015)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1017)\n\tTokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- paidOut[msg.sender] = 0 (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1018)\n\tDAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n\t- totalSupply -= balances[msg.sender] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1016)\n\tTokenInterface.totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#45) can be used in cross function reentrancies:\n\t- TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.minQuorum(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1174-1178)\n\t- TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- TokenInterface.totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#45)\n\t- DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\t- [withdrawRewardFor(msg.sender)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1015)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1017)\n\t[TokenInterface.balances](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [paidOut[msg.sender] = 0](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1018)\n\t[DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n\t- [totalSupply -= balances[msg.sender]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1016)\n\t[TokenInterface.totalSupply](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L45) can be used in cross function reentrancies:\n\t- [TokenCreation.createTokenProxy(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.minQuorum(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1174-L1178)\n\t- [TokenCreation.refund()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [TokenInterface.totalSupply](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L45)\n\t- [DAO.withdrawRewardFor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020", - "id": "b5e0d89e8dfd1630d85dd7e57ea229d39c0c99b61d05b206ac600de851a9f8d4", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - }, - { - "type": "node", - "name": "p.splitData[0].newDAO = createNewDAO(_newCurator)", - "source_mapping": { - "start": 37159, - "length": 49, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 974 - ], - "starting_column": 13, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)", - "source_mapping": { - "start": 44544, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1196 - ], - "starting_column": 9, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createNewDAO", - "source_mapping": { - "start": 44427, - "length": 198, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1194, - 1195, - 1196, - 1197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createNewDAO(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "p.splitData[0].splitBalance = actualBalance()", - "source_mapping": { - "start": 37456, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 981 - ], - "starting_column": 13, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.splitData[0].rewardToken = rewardToken[address(this)]", - "source_mapping": { - "start": 37515, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 982 - ], - "starting_column": 13, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.splitData[0].totalSupply = totalSupply", - "source_mapping": { - "start": 37584, - "length": 40, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 983 - ], - "starting_column": 13, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - }, - { - "type": "node", - "name": "p.proposalPassed = true", - "source_mapping": { - "start": 37638, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 984 - ], - "starting_column": 13, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "splitDAO(uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" - } - } - ], - "description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\tState variables written after the call(s):\n\t- p.splitData[0].splitBalance = actualBalance() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#981)\n\tDAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.splitData[0].rewardToken = rewardToken[address(this)] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#982)\n\tDAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.splitData[0].totalSupply = totalSupply (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#983)\n\tDAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.proposalPassed = true (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#984)\n\tDAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394) can be used in cross function reentrancies:\n\t- DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n", - "markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\tState variables written after the call(s):\n\t- [p.splitData[0].splitBalance = actualBalance()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L981)\n\t[DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.splitData[0].rewardToken = rewardToken[address(this)]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L982)\n\t[DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.splitData[0].totalSupply = totalSupply](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L983)\n\t[DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.proposalPassed = true](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L984)\n\t[DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394) can be used in cross function reentrancies:\n\t- [DAO.DAO(address,DAO_Creator,uint256,uint256,uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020", - "id": "d5c4fd83d69b85c498cf950e0fcb501bdd4b8860f67cef98ada5bfcf180ad881", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - }, - { - "type": "node", - "name": "! withdrawRewardFor(_from)", - "source_mapping": { - "start": 41890, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1118 - ], - "starting_column": 13, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", - "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1065 - ], - "starting_column": 13, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "transferFrom(_from,_to,_value)", - "source_mapping": { - "start": 41944, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1120 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[_to] += _amount", - "source_mapping": { - "start": 4393, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 120 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 4127, - "length": 509, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[_from] -= _amount", - "source_mapping": { - "start": 4431, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 121 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 4127, - "length": 509, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "transferFrom(_from,_to,_value)", - "source_mapping": { - "start": 41944, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1120 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFromWithoutReward", - "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFromWithoutReward(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_from] -= transferPaidOut", - "source_mapping": { - "start": 42279, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1133 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_to] += transferPaidOut", - "source_mapping": { - "start": 42322, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1134 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - } - ], - "description": "Reentrancy in DAO.transferFromWithoutReward(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1112-1121):\n\tExternal calls:\n\t- ! withdrawRewardFor(_from) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1118)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transferFrom(_from,_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- balances[_to] += _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#120)\n\t\t- balances[_from] -= _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#121)\n\tTokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- transferFrom(_from,_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- paidOut[_from] -= transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n\tDAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.transferFromWithoutReward(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121):\n\tExternal calls:\n\t- [! withdrawRewardFor(_from)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1118)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transferFrom(_from,_to,_value)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [balances[_to] += _amount](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L120)\n\t\t- [balances[_from] -= _amount](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L121)\n\t[TokenInterface.balances](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [transferFrom(_from,_to,_value)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n\t[DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121", - "id": "e74ce16aec9de9f8c37762ef749b95f2cba0d27a1d386d41cf1ad708da41dc38", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - }, - { - "type": "node", - "name": "! getMyReward()", - "source_mapping": { - "start": 41288, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1092 - ], - "starting_column": 13, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", - "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1065 - ], - "starting_column": 13, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", - "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1068, - 1069 - ], - "starting_column": 9, - "ending_column": 103 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", - "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1070 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "withdrawRewardFor", - "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "withdrawRewardFor(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "transfer(_to,_value)", - "source_mapping": { - "start": 41331, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1094 - ], - "starting_column": 9, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[msg.sender] -= _amount", - "source_mapping": { - "start": 3920, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 101 - ], - "starting_column": 13, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 3765, - "length": 356, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "balances[_to] += _amount", - "source_mapping": { - "start": 3965, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 102 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 3765, - "length": 356, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Token", - "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" - } - }, - { - "type": "node", - "name": "transfer(_to,_value)", - "source_mapping": { - "start": 41331, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1094 - ], - "starting_column": 9, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferWithoutReward(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_from] -= transferPaidOut", - "source_mapping": { - "start": 42279, - "length": 33, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1133 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - }, - { - "type": "node", - "name": "paidOut[_to] += transferPaidOut", - "source_mapping": { - "start": 42322, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1134 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferPaidOut", - "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DAO", - "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", - "is_dependency": false, - "lines": [ - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferPaidOut(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "paidOut" - } - } - ], - "description": "Reentrancy in DAO.transferWithoutReward(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1091-1095):\n\tExternal calls:\n\t- ! getMyReward() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1092)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transfer(_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- balances[msg.sender] -= _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#101)\n\t\t- balances[_to] += _amount (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#102)\n\tTokenInterface.balances (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- transfer(_to,_value) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- paidOut[_from] -= transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n\tDAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.transferWithoutReward(address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095):\n\tExternal calls:\n\t- [! getMyReward()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1092)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transfer(_to,_value)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [balances[msg.sender] -= _amount](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L101)\n\t\t- [balances[_to] += _amount](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L102)\n\t[TokenInterface.balances](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [transfer(_to,_value)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n\t[DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095", - "id": "fe6ba50f9fe5accbf51b8c33af2714aa9b9fa83b40d676c814d9a1ac19978352", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 6e78e3971..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,890 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 391, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 455, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L21)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L31-L37)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22", - "id": "933549b102ad856713f3d95a954fc77ec57f7ccf0f4d9de708f391cf094a8d65", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "success = msg.sender.call()", - "source_mapping": { - "start": 560, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 630, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "! (msg.sender.call())", - "source_mapping": { - "start": 391, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 630, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 455, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29):\n\tExternal calls:\n\t- success = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#26)\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28)\n\t\t- ! (msg.sender.call()) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28)\n\t\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29):\n\tExternal calls:\n\t- [success = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L26)\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L28)\n\t\t- [! (msg.sender.call())](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L28)\n\t\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L21)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L31-L37)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29", - "id": "ac39ee6d5de5be925fc4f4038716ee18f762da9548d34786a3b925a9dcd6dbd3", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 404362007..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,913 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23", - "id": "41ceea104e666924bd8048ba89d761acca8408a3b82d77831baa2a6d0a4130f0", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 605, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#27)\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L27)\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30", - "id": "bd0b8f5e977c52e5cb17a3fdac3796ef55f28259d65be4b970be40d3f0f7ad6f", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 9615749d6..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,913 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23", - "id": "aa356923ac753b7b9c7a5225d800da7f8d0c9cd9648155ab65a841ef2ea03cee", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 605, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#27)\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L27)\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30", - "id": "aef958ec49549d90b692c58d3d6a19ef5c4bcc3ff6ceed7dfd7d01210601d847", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 3105cb9a1..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,913 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 444, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 547, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L22)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L26)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L11-L18)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L36-L43)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27", - "id": "0c8d97025b73e61d9f897d2b4603c5ad3ca69bad370573776bc0a89982824b9d", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 652, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 31 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 725, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success) = msg.sender.call()", - "source_mapping": { - "start": 444, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "bad0()", - "source_mapping": { - "start": 725, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 577, - "length": 161, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 29, - 30, - 31, - 32, - 33, - 34 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(address)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - }, - { - "type": "node", - "name": "notCalled = false", - "source_mapping": { - "start": 547, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 383, - "length": 188, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReentrancyWrite", - "source_mapping": { - "start": 82, - "length": 852, - "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" - } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#31)\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33)\n\t\t- (success) = msg.sender.call() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22)\n\tState variables written after the call(s):\n\t- bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33)\n\t\t- notCalled = false (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26)\n\tReentrancyWrite.notCalled (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27)\n\t- ReentrancyWrite.bad1(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34)\n\t- ReentrancyWrite.constructor(address) (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18)\n\t- ReentrancyWrite.good() (tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L31)\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L33)\n\t\t- [(success) = msg.sender.call()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L22)\n\tState variables written after the call(s):\n\t- [bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L33)\n\t\t- [notCalled = false](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L26)\n\t[ReentrancyWrite.notCalled](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27)\n\t- [ReentrancyWrite.bad1(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34)\n\t- [ReentrancyWrite.constructor(address)](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L11-L18)\n\t- [ReentrancyWrite.good()](tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L36-L43)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34", - "id": "3eb741c75e4861743cc201d67e160aca27ccda58b8cb3bb6dc5e7df7511ca159", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json b/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json deleted file mode 100644 index 1e736582d..000000000 --- a/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json +++ /dev/null @@ -1,712 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "C", - "source_mapping": { - "start": 176, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "C(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 222, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor C.C(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [C.C(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", - "id": "085dceba8f0b37580e72952eafe1368bf0d09f10c2f44c0b6ff53ad7e72f92b1", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[E](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [A.A(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", - "id": "14d6bffb3f1849cfebb7156cb797315fd01ac83911a1261650f702792f4db830", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 375, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 375, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "F (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[F](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) gives base constructor [A.A(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38", - "id": "71e08d0e5c44bbc2671e014018a6333bd92db7380a85732bf2d17aa5500f6434", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 222, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[D](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) gives base constructor [A.A(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24", - "id": "7436d3215ee6260f9a4b2f4697fa242225ad3f10e30bfbd162679a5e3fa48f10", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "A", - "source_mapping": { - "start": 34, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "A(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 155, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) gives base constructor A.A(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[C](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) gives base constructor [A.A(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18", - "id": "d2847fcb309e0ee45dfb303bf749123bbebee692a080ae6a718a76ef785ae8d2", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "B", - "source_mapping": { - "start": 109, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 88, - "length": 65, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "B(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 295, - "length": 77, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 222, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor B.B(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [B.B(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", - "id": "e79d62c434ba85788dd5087e4994bb136be6b9e8a55e8057b0e30c9b0436abdc", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json b/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json deleted file mode 100644 index 0e7952479..000000000 --- a/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json +++ /dev/null @@ -1,1009 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [A.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", - "id": "1f85bf19873eaee39a8f703b0c783aa86e34c91fad5556ee831eb7c6adcfdb77", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[C](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) gives base constructor [A.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18", - "id": "2d9d2b1b6d2540f86fd909f9766e128da573e659f40a50835cc9adef3c4dbee8", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 178, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor C.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [C.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", - "id": "33b16377cf3026b60d644e79d92682e6e626d7ad6598387440c9b20fd8aa44fe", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor B.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [B.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", - "id": "5f3b188e7d6c737684f829c3fde96f739cd502b4aba8f3f6e3ceab7decffa618", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 178, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor C.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [C.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", - "id": "b579da8996b6a1a35169bcae74ad8126c68fb0a1819d3977cea3e0e295ff2d5c", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 380, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "F", - "source_mapping": { - "start": 380, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "F (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[F](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) gives base constructor [A.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38", - "id": "b74eb2b11af7a004b623d28b035228963f09aed588c95efed636021f426c5cdc", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 110, - "length": 43, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 225, - "length": 72, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor B.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) contract definition\n\t- From E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [B.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) contract definition\n\t- From [E](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", - "id": "ee7d44329ffb81dc06e2a2f1b3a166a5115287a1175b32cf828b57479afbc4ae", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "E", - "source_mapping": { - "start": 299, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 34, - "length": 51, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 87, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(uint256)" - } - }, - { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 157, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 89, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "E (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor A.constructor(uint256) (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[E](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [A.constructor(uint256)](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", - "id": "f5c86955c15d44fe9471680d12d37843a15ba934cbb124786cadab0919ea68d1", - "check": "reused-constructor", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json b/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json deleted file mode 100644 index f274accdf..000000000 --- a/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 96, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "markdown": "tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "first_markdown_element": "", - "id": "bb5125457e77dc20d54c832822ee40ec1ea295724482eeb47b96476dd9fee7eb", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json b/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json deleted file mode 100644 index 6bd7bd699..000000000 --- a/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 96, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "markdown": "tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "first_markdown_element": "", - "id": "721d2f64c7a644099d98238b8af0172c84722cf1702ed29537d0fc701f0d8d88", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json b/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json deleted file mode 100644 index 3dbac6de8..000000000 --- a/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 96, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "markdown": "tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n", - "first_markdown_element": "", - "id": "47d896764ded59ddc17f6ded902e9826d1688fd3af59985d184d30fa6b5e6976", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json b/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json deleted file mode 100644 index 0dc779146..000000000 --- a/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json +++ /dev/null @@ -1,88 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 336, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 14, - "ending_column": 17 - } - } - ], - "description": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336:\n\t- b' /*ok \\xe2\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "markdown": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336:\n\t- b' /*ok \\xe2\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "first_markdown_element": "", - "id": "8de5d775d29d586295f60570ff608aef85da40156380c246eada316dbaf94db5", - "check": "rtlo", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 348, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 26, - "ending_column": 29 - } - } - ], - "description": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348:\n\t- b'\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "markdown": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348:\n\t- b'\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "first_markdown_element": "", - "id": "98f55f22798ec4805d32c89953fc385f02f1e69ebfc22bde91d64c5676098a6a", - "check": "rtlo", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 342, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 20, - "ending_column": 23 - } - } - ], - "description": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342:\n\t- b'\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "markdown": "tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342:\n\t- b'\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n", - "first_markdown_element": "", - "id": "fa1214e29688e5f4e8b915ec0e80bb5ffe0bae47468d588398bc209ed990cdfc", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json b/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json deleted file mode 100644 index d9f03c8a3..000000000 --- a/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 92, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 46, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#L2)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-abstract", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json b/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json deleted file mode 100644 index 038141f6b..000000000 --- a/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 92, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 46, - "length": 63, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 44, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#L2)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-abstract", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json deleted file mode 100644 index a42cbaf6a..000000000 --- a/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json +++ /dev/null @@ -1,91 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 127, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 81, - "length": 73, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 51, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 24, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.__gap (tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#7) shadows:\n\t- BaseContract.__gap (tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#3)\n", - "markdown": "[DerivedContract.__gap](tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#L7) shadows:\n\t- [BaseContract.__gap](tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol#L7", - "id": "8f81b2b4b3285fe96f0b580cdd2144cc6cf6808d970ba68878b9901744069c4c", - "check": "shadowing-abstract", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json b/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json deleted file mode 100644 index a9e1bc63f..000000000 --- a/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json +++ /dev/null @@ -1,799 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "mutable", - "source_mapping": { - "start": 527, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 32 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Reserved", - "source_mapping": { - "start": 504, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "Reserved.mutable (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#32) (state variable) shadows built-in symbol\"\n", - "markdown": "[Reserved.mutable](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32", - "id": "11840553a9e11623596d7a07275814e65a5b1d90277ae0e2954cd8ce74d6a6d2", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "ecrecover", - "source_mapping": { - "start": 170, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 122, - "length": 139, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ExtendedContract.ecrecover (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.ecrecover](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11", - "id": "39737925cf3bd4ebf9a1c7bbe39da8b80ba28e5a3d93a938d1a4cca78a6a436d", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "keccak256", - "source_mapping": { - "start": 449, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 380, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().keccak256 (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().keccak256](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25", - "id": "40f0453d27abf2d9ed76fe60853b6e2e0cd9a443d639e9da457460ea02b2bdc7", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "abi", - "source_mapping": { - "start": 365, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.abi (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.abi](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21", - "id": "4665243a2df090e3543ab26447528fa3401916f4669fe1264145891846d4bc40", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 54, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.blockhash](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4", - "id": "61d1c1452e694c321d00576decdf35c62efbe8860f664273955fadce5e063cc8", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "this", - "source_mapping": { - "start": 346, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.this (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.this](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20", - "id": "87e1cc0cb95181dd120d3e6e55d89fdc7b5cd01da2f89cd7a3d105738f57c10b", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "now", - "source_mapping": { - "start": 74, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.now (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.now](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5", - "id": "942ad0405af0bc533374dded6e2474c53892747c98d2df14d59cbb6840fa18b3", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "revert", - "source_mapping": { - "start": 89, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "revert(bool)" - } - } - ], - "description": "BaseContractrevert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n", - "markdown": "[BaseContractrevert(bool)](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7", - "id": "9c428e61cb4832d899b2bb711c8d428154425dbadf5dfc2e2d857254824d8f72", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "msg", - "source_mapping": { - "start": 244, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 195, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 122, - "length": 139, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - } - } - ], - "description": "ExtendedContract.assert(bool).msg (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool).msg](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14", - "id": "a2a7e1e27320d38e52b51c9b1ec67cca0a403673ff6fdd59652f9cd8425d011f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 195, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 122, - "length": 139, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - ], - "description": "ExtendedContract.assert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool)](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15", - "id": "b3a1b23c1daed52b1a2ff5fb76d4fcdf2bc0b2126524303321cf8e7835116d6f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "sha3", - "source_mapping": { - "start": 473, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 380, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().sha3 (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().sha3](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26", - "id": "c481dbbf77c99cb337740a656ebabae1c89bf13b9d7b7d315dcf54feeab1cd63", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 322, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.blockhash](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19", - "id": "d405ccbec679f921252d475591a890a89a023b375dc4994119967693692f8da9", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "require", - "source_mapping": { - "start": 380, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 263, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - ], - "description": "FurtherExtendedContract.require() (tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require()](tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28", - "id": "db6c26c9a7c319c1a34c486e6e625c0906a2b118f8cd72f38a38c167832aab4f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json b/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json deleted file mode 100644 index e12347591..000000000 --- a/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json +++ /dev/null @@ -1,749 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "ecrecover", - "source_mapping": { - "start": 173, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 125, - "length": 139, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ExtendedContract.ecrecover (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.ecrecover](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11", - "id": "39737925cf3bd4ebf9a1c7bbe39da8b80ba28e5a3d93a938d1a4cca78a6a436d", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "keccak256", - "source_mapping": { - "start": 452, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 383, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().keccak256 (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().keccak256](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25", - "id": "40f0453d27abf2d9ed76fe60853b6e2e0cd9a443d639e9da457460ea02b2bdc7", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "abi", - "source_mapping": { - "start": 368, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.abi (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.abi](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21", - "id": "4665243a2df090e3543ab26447528fa3401916f4669fe1264145891846d4bc40", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 57, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.blockhash](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4", - "id": "61d1c1452e694c321d00576decdf35c62efbe8860f664273955fadce5e063cc8", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "this", - "source_mapping": { - "start": 349, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.this (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.this](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20", - "id": "87e1cc0cb95181dd120d3e6e55d89fdc7b5cd01da2f89cd7a3d105738f57c10b", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "now", - "source_mapping": { - "start": 77, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 13 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "BaseContract.now (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.now](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5", - "id": "942ad0405af0bc533374dded6e2474c53892747c98d2df14d59cbb6840fa18b3", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "event", - "name": "revert", - "source_mapping": { - "start": 92, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "revert(bool)" - } - } - ], - "description": "BaseContractrevert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n", - "markdown": "[BaseContractrevert(bool)](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7", - "id": "9c428e61cb4832d899b2bb711c8d428154425dbadf5dfc2e2d857254824d8f72", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "msg", - "source_mapping": { - "start": 247, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 198, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 125, - "length": 139, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - } - } - ], - "description": "ExtendedContract.assert(bool).msg (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool).msg](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14", - "id": "a2a7e1e27320d38e52b51c9b1ec67cca0a403673ff6fdd59652f9cd8425d011f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "assert", - "source_mapping": { - "start": 198, - "length": 64, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 125, - "length": 139, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "assert(bool)" - } - } - ], - "description": "ExtendedContract.assert(bool) (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool)](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15", - "id": "b3a1b23c1daed52b1a2ff5fb76d4fcdf2bc0b2126524303321cf8e7835116d6f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "sha3", - "source_mapping": { - "start": 476, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 26 - ], - "starting_column": 9, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "require", - "source_mapping": { - "start": 383, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - } - } - ], - "description": "FurtherExtendedContract.require().sha3 (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().sha3](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26", - "id": "c481dbbf77c99cb337740a656ebabae1c89bf13b9d7b7d315dcf54feeab1cd63", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "blockhash", - "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.blockhash (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.blockhash](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19", - "id": "d405ccbec679f921252d475591a890a89a023b375dc4994119967693692f8da9", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "require", - "source_mapping": { - "start": 383, - "length": 120, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 266, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", - "is_dependency": false, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "require()" - } - } - ], - "description": "FurtherExtendedContract.require() (tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require()](tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28", - "id": "db6c26c9a7c319c1a34c486e6e625c0906a2b118f8cd72f38a38c167832aab4f", - "check": "shadowing-builtin", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json b/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json deleted file mode 100644 index 01d1ce42c..000000000 --- a/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json +++ /dev/null @@ -1,814 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 376, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 256, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 133, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 85, - "length": 110, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 54, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#4) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L4) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "0991435c12aa2d6f15e8da2a00a18e9c58ef65dcf31137cdb561655317353247", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 533, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 486, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 434, - "length": 225, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 470, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 434, - "length": 225, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 398, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 52, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 70, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 26, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 421, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 75, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 183, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 85, - "length": 110, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 413, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 67, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 274, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 405, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 59, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 351, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 197, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 150, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 85, - "length": 110, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json b/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json deleted file mode 100644 index 11c615913..000000000 --- a/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json +++ /dev/null @@ -1,977 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 379, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 259, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 136, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 110, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 57, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#4) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L4) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "0991435c12aa2d6f15e8da2a00a18e9c58ef65dcf31137cdb561655317353247", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 536, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 489, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 473, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 401, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 52, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 73, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 424, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 75, - "ending_column": 81 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 186, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 110, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 416, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 67, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 277, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local_scope_0", - "source_mapping": { - "start": 653, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 583, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - }, - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 631, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 53, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 583, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 437, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L34", - "id": "cd63bdf3f6420e4e109d20ec44b52fcbcbde1c5b6a0701fc6994b35960ab1e85", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 408, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 59, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 354, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 200, - "length": 235, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 153, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 110, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json b/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json deleted file mode 100644 index 834751662..000000000 --- a/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json +++ /dev/null @@ -1,896 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 541, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 494, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 478, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 406, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 54, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 73, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 429, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 77, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 187, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 421, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 69, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 280, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 382, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 260, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#17) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L17) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "cd61765f88a1447471f5c75c7a488af44534d81be3998f5d01a6b5fa8f693327", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local_scope_0", - "source_mapping": { - "start": 658, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - }, - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 636, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 53, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "shadowedReturn()" - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L34", - "id": "cd63bdf3f6420e4e109d20ec44b52fcbcbde1c5b6a0701fc6994b35960ab1e85", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 413, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 61, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 154, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json b/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json deleted file mode 100644 index ebeacebd5..000000000 --- a/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json +++ /dev/null @@ -1,892 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 541, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30 - ], - "starting_column": 52, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedState", - "source_mapping": { - "start": 494, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowedState()" - } - } - } - }, - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 478, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedState().state (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L30", - "id": "1b0030affabcff703e57e4f388b86dbda0f412e51ba8d15248bcae9e4748a012", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 406, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 54, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "y", - "source_mapping": { - "start": 73, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 29, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 429, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 77, - "ending_column": 83 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "event", - "name": "v", - "source_mapping": { - "start": 187, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "v()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "w", - "source_mapping": { - "start": 421, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 69, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "w", - "source_mapping": { - "start": 280, - "length": 71, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "w()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 382, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 30, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "variable", - "name": "__x", - "source_mapping": { - "start": 260, - "length": 12, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#17) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L17) (state variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "cd61765f88a1447471f5c75c7a488af44534d81be3998f5d01a6b5fa8f693327", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local_scope_0", - "source_mapping": { - "start": 658, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 34 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowedReturn()" - } - } - } - }, - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 636, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33 - ], - "starting_column": 53, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowedReturn", - "source_mapping": { - "start": 588, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "LocalReturnVariables", - "source_mapping": { - "start": 442, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowedReturn()" - } - } - } - } - ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L34", - "id": "cd63bdf3f6420e4e109d20ec44b52fcbcbde1c5b6a0701fc6994b35960ab1e85", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "z", - "source_mapping": { - "start": 413, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 61, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "shadowingParent", - "source_mapping": { - "start": 357, - "length": 81, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 25 - ], - "starting_column": 5, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FurtherExtendedContract", - "source_mapping": { - "start": 201, - "length": 239, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "shadowingParent(uint256)" - } - } - } - }, - { - "type": "function", - "name": "z", - "source_mapping": { - "start": 154, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ExtendedContract", - "source_mapping": { - "start": 88, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "z()" - } - } - ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", - "id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json b/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json deleted file mode 100644 index 7a085c8ba..000000000 --- a/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json +++ /dev/null @@ -1,105 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 172, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 126, - "length": 210, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#L2)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol#L12", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json b/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json deleted file mode 100644 index ddbd655ed..000000000 --- a/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json +++ /dev/null @@ -1,105 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 172, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 126, - "length": 227, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "owner", - "source_mapping": { - "start": 27, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 5, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 0, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#L2)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol#L12", - "id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab", - "check": "shadowing-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json b/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json deleted file mode 100644 index 93578d854..000000000 --- a/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 156, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DerivedContract", - "source_mapping": { - "start": 110, - "length": 102, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 51, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseContract", - "source_mapping": { - "start": 24, - "length": 84, - "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "DerivedContract.__gap (tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#8) shadows:\n\t- BaseContract.__gap (tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#3)\n", - "markdown": "[DerivedContract.__gap](tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#L8) shadows:\n\t- [BaseContract.__gap](tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol#L8", - "id": "8f81b2b4b3285fe96f0b580cdd2144cc6cf6808d970ba68878b9901744069c4c", - "check": "shadowing-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json b/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json b/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json deleted file mode 100644 index ca8ff4d95..000000000 --- a/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json b/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json deleted file mode 100644 index 6bdc717e6..000000000 --- a/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json b/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json deleted file mode 100644 index cb4140fff..000000000 --- a/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json b/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json deleted file mode 100644 index 959b53404..000000000 --- a/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "testVariable", - "source_mapping": { - "start": 69, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - }, - { - "type": "variable", - "name": "textVariable", - "source_mapping": { - "start": 100, - "length": 21, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 23, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Similar", - "source_mapping": { - "start": 0, - "length": 174, - "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "Variable Similar.f().testVariable (tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol#L3", - "id": "2f767a2bb6f48a8435ce456e2d3ad859bdeccf66507735a14e20515e914038d5", - "check": "similar-names", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json deleted file mode 100644 index 20ffda221..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [], - "description": "solc-0.4.25 is not recommended for deployment\n", - "markdown": "solc-0.4.25 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "4d64003d70a62b1c6963f871e841b6cbd633d07d95554e1a50e0f25d9b71ebb3", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "0.4.25", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.4", - ".25" - ] - } - } - ], - "description": "Pragma version0.4.25 (tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.4.25](tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#L1", - "id": "4e5f2e515609476e00f6be631f981c3589c446b78660745af9a3593ca1130fef", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json deleted file mode 100644 index a43f586bc..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "0.5.14", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.5", - ".14" - ] - } - } - ], - "description": "Pragma version0.5.14 (tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol#1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n", - "markdown": "Pragma version[0.5.14](tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol#L1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol#L1", - "id": "ba83251344888926a6441f526dc8f9e88cae6c86918e93a323d705d491f8e7a1", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.5.14 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)", - "markdown": "solc-0.5.14 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)", - "first_markdown_element": "", - "id": "d29c07fc4fd9f7602b9f99b17646c6ce1a1c10740d60888a7a706f2537f6e59d", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json deleted file mode 100644 index 0cfee492f..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json +++ /dev/null @@ -1,50 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.15", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".15" - ] - } - } - ], - "description": "Pragma version^0.5.15 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.15](tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#L1", - "id": "91d2ad5b0149c3b4c4625cb637af4532cf9598a5a2b067ebd2c8e9b6bb5fc079", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.5.16 is not recommended for deployment\n", - "markdown": "solc-0.5.16 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "94ddf430efb860e471a768a108c851848fa998e8a2c489c6fb23ed71d3ef4b09", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json deleted file mode 100644 index cb5878f1f..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": ">=0.5.0<0.6.0", - "source_mapping": { - "start": 0, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0", - "<", - "0.6", - ".0" - ] - } - } - ], - "description": "Pragma version>=0.5.0<0.6.0 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#1) allows old versions\n", - "markdown": "Pragma version[>=0.5.0<0.6.0](tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#L1", - "id": "02a864c253786052cb7908fed97573b424063a911900f7b2a444ccf28773935a", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.5.16 is not recommended for deployment\n", - "markdown": "solc-0.5.16 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "94ddf430efb860e471a768a108c851848fa998e8a2c489c6fb23ed71d3ef4b09", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json deleted file mode 100644 index 28fb98f0a..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [], - "description": "solc-0.5.16 is not recommended for deployment\n", - "markdown": "solc-0.5.16 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "94ddf430efb860e471a768a108c851848fa998e8a2c489c6fb23ed71d3ef4b09", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "0.5.16", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.5", - ".16" - ] - } - } - ], - "description": "Pragma version0.5.16 (tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.5.16](tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#L1", - "id": "ff39ee4e334e44fff23e833d9ee84b4cfcb43bd2ac704a9d5aa1ef82a1a38d5d", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json deleted file mode 100644 index fc324892e..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [], - "description": "solc-0.6.10 is not recommended for deployment\n", - "markdown": "solc-0.6.10 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "b2c2f26d29a163098673e6dcb2342e00d94996a84040bac62f7dbb2f20fa8f28", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "0.6.10", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.6", - ".10" - ] - } - } - ], - "description": "Pragma version0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.6.10](tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#L1", - "id": "cd90c39225151b788bfa16a1691e7536f51464cd6e59f55694a1022e6aea7d96", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json deleted file mode 100644 index d8e0ab3f9..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json +++ /dev/null @@ -1,50 +0,0 @@ -[ - [ - { - "elements": [], - "description": "solc-0.6.11 is not recommended for deployment\n", - "markdown": "solc-0.6.11 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "bafd522d637977886f038e619ad47c1987efedc6c4c24515e6e27b23585535bd", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.6.10", - "source_mapping": { - "start": 0, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.6", - ".10" - ] - } - } - ], - "description": "Pragma version^0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.6.10](tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#L1", - "id": "fe9bdf90f61e61a27a7b6cff5d46a367791bb8a4e5cee82b66b2a387fcb1b07c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json deleted file mode 100644 index c1f83b58e..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": ">=0.6.0<0.7.0", - "source_mapping": { - "start": 0, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.7", - ".0" - ] - } - } - ], - "description": "Pragma version>=0.6.0<0.7.0 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#1) allows old versions\n", - "markdown": "Pragma version[>=0.6.0<0.7.0](tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#L1", - "id": "a25609bb9ae5982429e846e71d245a10687e54dd89db1e026ce8abc372a6b10a", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.6.11 is not recommended for deployment\n", - "markdown": "solc-0.6.11 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "bafd522d637977886f038e619ad47c1987efedc6c4c24515e6e27b23585535bd", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json deleted file mode 100644 index 97f46f030..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "0.6.11", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.6", - ".11" - ] - } - } - ], - "description": "Pragma version0.6.11 (tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.6.11](tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#L1", - "id": "1a28cd562fc4e98f8404f2c820705720133d7ad9abc8eeca6940753963e73ea8", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.6.11 is not recommended for deployment\n", - "markdown": "solc-0.6.11 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "bafd522d637977886f038e619ad47c1987efedc6c4c24515e6e27b23585535bd", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json deleted file mode 100644 index a1927027b..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "0.7.4", - "source_mapping": { - "start": 0, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 23 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.7", - ".4" - ] - } - } - ], - "description": "Pragma version0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.7.4](tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#L1", - "id": "0b68e24ddb7139f74a8dd063388c1337e1372799f60bface7a5d177b8793b741", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.7.4 is not recommended for deployment\n", - "markdown": "solc-0.7.4 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "27e54a3813c974274b355c03bd742d4f2b8cd63fa57143b4fb741cbecd022dd2", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json deleted file mode 100644 index 18bc52bc7..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json +++ /dev/null @@ -1,50 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "^0.7.4", - "source_mapping": { - "start": 0, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.7", - ".4" - ] - } - } - ], - "description": "Pragma version^0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.7.4](tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#L1", - "id": "a26793ac70a065f8101c425f5a93a44e10518267fd539c588a81aeaa273f8f4e", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.7.6 is not recommended for deployment\n", - "markdown": "solc-0.7.6 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "ddb8ee36d9dd69b14eab702506268f8f9ef3283777d042e197277e29407b386e", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json deleted file mode 100644 index d20b1d58d..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": ">=0.7.0<=0.7.6", - "source_mapping": { - "start": 0, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 33 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<=", - "0.7", - ".6" - ] - } - } - ], - "description": "Pragma version>=0.7.0<=0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#1) is too complex\n", - "markdown": "Pragma version[>=0.7.0<=0.7.6](tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#L1) is too complex\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#L1", - "id": "553e646c4f06caff84790d2bf426d1b639f5ab492f06d35c1cc1de27171a5458", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.7.6 is not recommended for deployment\n", - "markdown": "solc-0.7.6 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "ddb8ee36d9dd69b14eab702506268f8f9ef3283777d042e197277e29407b386e", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json b/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json deleted file mode 100644 index 2feda0b82..000000000 --- a/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "pragma", - "name": "0.7.6", - "source_mapping": { - "start": 0, - "length": 22, - "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 23 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "0.7", - ".6" - ] - } - } - ], - "description": "Pragma version0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.7.6](tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#L1", - "id": "730c7b68388c8968a0dc7398162989157d0fc6c1223b719c86abaa23aa141422", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [], - "description": "solc-0.7.6 is not recommended for deployment\n", - "markdown": "solc-0.7.6 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "ddb8ee36d9dd69b14eab702506268f8f9ef3283777d042e197277e29407b386e", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json b/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json b/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json b/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json deleted file mode 100644 index 4f1d5835f..000000000 --- a/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json b/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json deleted file mode 100644 index d7999c9d9..000000000 --- a/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json b/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json deleted file mode 100644 index bec245766..000000000 --- a/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json b/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json deleted file mode 100644 index 01b0dde93..000000000 --- a/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "i_am_a_backdoor", - "source_mapping": { - "start": 18, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 1, - "length": 94, - "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "i_am_a_backdoor()" - } - } - ], - "description": "C.i_am_a_backdoor() (tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol#L4-L6", - "id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7", - "check": "suicidal", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json b/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json deleted file mode 100644 index c40705123..000000000 --- a/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#L9-L11", - "id": "2d5afaf7ffe75ae8bd3fe6831af4fdbc60c3151ccaedbf03a96dc28463ab87f7", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol#L2-L7", - "id": "8e35298d2cfa14f0683bc976a299c6c757f7b036a96443fa8ddae8ff8edab0a6", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json b/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json deleted file mode 100644 index ae70b276a..000000000 --- a/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#L9-L11", - "id": "4104ae382ec7ca18aa48706d1336f1cf8a1420e3bbca67931fca5a534f59eaca", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol#L2-L7", - "id": "5b31f4bb71fc1840be393b354338ffba3380a788f823be9f3bfb017ab2876051", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json b/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json deleted file mode 100644 index b3484d6ac..000000000 --- a/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#L9-L11", - "id": "847fae465158df30ff5281b9fb6c4fe56bc62126a24263e5b73cfe189ea88101", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol#L2-L7", - "id": "eadd3a6e49d82eee622768c1de7238bc9a7dab02bfa86a7622fc0499f0398a84", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json b/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json deleted file mode 100644 index 54356483e..000000000 --- a/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json +++ /dev/null @@ -1,274 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - }, - { - "type": "node", - "name": "(y < 512)", - "source_mapping": { - "start": 202, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "g", - "source_mapping": { - "start": 150, - "length": 80, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "g(uint8)" - } - } - } - } - ], - "description": "A.g(uint8) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#L9-L11", - "id": "8775db38ad7ea2dae79cc8a2998e6babf60b8d925894c198fde99ce0d56f8dd8", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x >= 0", - "source_mapping": { - "start": 69, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 14, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 2, - "ending_column": 3 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 0, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "A.f(uint256) (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol#L2-L7", - "id": "bdb95728224ebe35a966e39c2ad0f8e705087e7577bc7bfb30b383652171813e", - "check": "tautology", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json b/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json deleted file mode 100644 index 2bac9145f..000000000 --- a/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L4-L6", - "id": "03594e6df776c41fb3de4b4b7858ab3dd2b36ed0b2bd9dccb5a343732d26e7f4", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L8-L11", - "id": "e2b861584cc340e917c6ac6a1191895909bd447d58b3b73907bfc766af3a69e8", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol#L13-L15", - "id": "f66328b4b47ebaaf78184cdcfa95e1fe0fd9a1ed3de1c93968f4b6325c174f4b", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json b/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json deleted file mode 100644 index 18f29cbee..000000000 --- a/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L8-L11", - "id": "49a0bfcb661a31edaa9b37280b8000653c712209b40cd415e386536633730b7f", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L4-L6", - "id": "4df4c103af282998c5004ea73cf301de8b030dce3eae9174fabc560da2c8dfcc", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol#L13-L15", - "id": "8783893a5aa7a9e13ef0b39ba3f525610aea6b2ae8b5f994552a87c0dc4c8263", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json b/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json deleted file mode 100644 index 09671e31b..000000000 --- a/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L4-L6", - "id": "23a1b86e2f94f257d4234ff06cc78c782f0dc8c2628452a58625edb30d620c0d", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L8-L11", - "id": "31b6ab92cef91ce4098c8adbffe3e22bc84eb6e3f30fb85e63cd33eadd08e496", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol#L13-L15", - "id": "bb9f5bde3d69a13c45f96610397f1c0a5a3a56b796ae577fbfc3d0dfc2c3d862", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json b/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json deleted file mode 100644 index 5606861c1..000000000 --- a/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json +++ /dev/null @@ -1,444 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "block.timestamp > 0", - "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "Timestamp.bad2() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L13-L15", - "id": "7eb1c390d5c07173eb75465abb24e6996b100848e292c0462a666ca614907770", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "require(bool)(block.timestamp == 0)", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Timestamp.bad0() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L5)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L4-L6", - "id": "7efbdd62dbabbb488457b4ec4e4aef7f07852c5d817f9957a1b70455af297d0d", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "require(bool)(time == 0)", - "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Timestamp", - "source_mapping": { - "start": 0, - "length": 402, - "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "Timestamp.bad1() (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol#L8-L11", - "id": "d5e863862b123d4e87ea1d43501d463ef36caa3c90c5d42e4df981c3e62f5661", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json b/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json deleted file mode 100644 index 47eb60ef0..000000000 --- a/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json +++ /dev/null @@ -1,980 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L20-L24", - "id": "053e072eea67b5308f8292cf1830c330fbc80a99a5a45343e29150fe26d51928", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "579e9c63d2b881823eca4226876a901fc6c9de7a96a54e1615165f944f4ec993", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "8333f893ea49b4205a270184968190c9eb89af862b58bb167b33ca792a74a68c", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "e954700672dbefd40444a24fc867f6989e2d37011867a6cd4c2f651e249292a7", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "ec348978a30da0283b0660abafc5a51687f5a12774a950944c56cebaf9de63c8", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json b/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json deleted file mode 100644 index a90452e7b..000000000 --- a/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json +++ /dev/null @@ -1,980 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "4330493d2b1ee0d0cbefafa7f9b0d7f58e9aec83268f33dd85bf2c0046add1fc", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L20-L24", - "id": "590bcf5dc5ea643fac6c0b3e1e819626e2f44d18caa50845adf179044616072a", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "69afedac402e965c98ab17a5927f0ce44f3497e4d4f9f6c1db6b21c6e9c1763b", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "6f2cd82484200efd6897d01be4e6b4b24437d10a2de204a5efd9fea2b1661015", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 999, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "9c2d8aa12c825077848edceeb4f633f4afa334accd986efa4f6062ca9667ebcf", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json b/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json deleted file mode 100644 index 6ad103d2b..000000000 --- a/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json +++ /dev/null @@ -1,990 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "04b17f2c4d0e28c1d74160bbb3770c986a068a50438a21e521b518867ea7ffb4", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "79422ffc3e0bbce7e320954d1a85e216449766995702cef5d594d82c41bf40db", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "7e5f8ae263ae46f7ab365199289b9737a23dee61f856679dd3ceaa3b3d68ce58", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L20-L24", - "id": "8cecf4ad1009d6c1188cd11ee23c8f7870756189e7d8344657fa9979c2ae6fca", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 28, - "length": 1000, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "f52a8172f386c68b1e935f3e2acf75b851a17cca0881dbbd915a3c810337b676", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json b/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json deleted file mode 100644 index 84ebdae37..000000000 --- a/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json +++ /dev/null @@ -1,970 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x3 = 1000000000000000000", - "source_mapping": { - "start": 246, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "0d18bde863ef2b94fe2573c8e094e8c71ce0530994ab7e1e1120c362f50680ff", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x2 = 0x0000000000001", - "source_mapping": { - "start": 211, - "length": 25, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 34 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "145cf1a01ee8d6803da8098287a473a5639a6ed377b4185044b448af47a7785d", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x1 = 0x000001", - "source_mapping": { - "start": 183, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "50fa9983fd37fc3ef4d4fc3def220cbabf3e1e87482c6974e7b574689dc9431f", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "h", - "source_mapping": { - "start": 430, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - }, - { - "type": "node", - "name": "x2 = 100000", - "source_mapping": { - "start": 486, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "h", - "source_mapping": { - "start": 430, - "length": 113, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "h()" - } - } - } - } - ], - "description": "C.h() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L20-L24", - "id": "bb3db442853479007fff235805e7bcf030d1cf8c1bbad6fd112b9c996ba61c4a", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - }, - { - "type": "node", - "name": "x4 = 100000", - "source_mapping": { - "start": 285, - "length": 16, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 2, - "length": 917, - "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f()" - } - } - } - } - ], - "description": "C.f() (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "fbf4039e77bad288247e091fc3e7184fdc787f06bc45085f7d79c7cf8c3a0f66", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json b/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json deleted file mode 100644 index 02b43f0d1..000000000 --- a/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 116, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 142, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 116, - "length": 60, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#L9-L11", - "id": "763fe3d84027e0b56f7797a2913da141bb2a3a61872e3faaffd5637a7c215966", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 182, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 212, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 182, - "length": 89, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 393, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol#L13-L17", - "id": "9cd6cc5fbb38a4aa51b6fe687ffc959d61e571c43f7ddb2c2a9d628b06a472a3", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json b/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json deleted file mode 100644 index 77cd977b2..000000000 --- a/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 127, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 159, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 127, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#L9-L11", - "id": "964dc0a5332a1829793bae146cb8c612b19d9f4c7ffabdec535865be0267e453", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 199, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 235, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 199, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 25, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol#L13-L17", - "id": "c59530b3606736ac49042a2b48fef6644036400f64f91c8d004d0d5bf7031826", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json b/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json deleted file mode 100644 index fbc904ae3..000000000 --- a/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 162, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#L9-L11", - "id": "e916fd4b9d754f327bef52f0e01c6184164c070b135260e1ffd7e4297a465e11", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 238, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol#L13-L17", - "id": "fb2810a8b293123b87a1cc869b0a5123a6c43c9eaf5e05635f2f4c8d11dcce01", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json b/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json deleted file mode 100644 index d0e7139c7..000000000 --- a/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - }, - { - "type": "node", - "name": "tx.origin != owner", - "source_mapping": { - "start": 238, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 13, - "ending_column": 31 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug2", - "source_mapping": { - "start": 202, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug2()" - } - } - } - } - ], - "description": "TxOrigin.bug2() (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#L13-L17", - "id": "be02a2e929852a463b8ea0b02d6ac0aa7a977589b305078a506503bae3e539ae", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - }, - { - "type": "node", - "name": "require(bool)(tx.origin == owner)", - "source_mapping": { - "start": 162, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bug0", - "source_mapping": { - "start": 130, - "length": 66, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TxOrigin", - "source_mapping": { - "start": 28, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bug0()" - } - } - } - } - ], - "description": "TxOrigin.bug0() (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol#L9-L11", - "id": "d7499b349f6bf0f616986a3a459ecb90cd625e5bf3601d1e2b864bad16a11ec4", - "check": "tx-origin", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json deleted file mode 100644 index 6e32d2a64..000000000 --- a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json +++ /dev/null @@ -1,130 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 214, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call.value(msg.value)()", - "source_mapping": { - "start": 73, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 88, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 214, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4", - "id": "a53ebce132787a825156e74d4580a7948908502dfa293ced870c2f8cce988567", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json deleted file mode 100644 index 8cbe3b1bc..000000000 --- a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call.value(msg.value)()", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4", - "id": "681bc51b34d1673cfd5e09101557ba555577312655bcd976ec05109be46c9ed1", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json deleted file mode 100644 index 5c462303c..000000000 --- a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call.value(msg.value)()", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4", - "id": "944a7149ed3900aa7e22a86921df5db6e9952b9bb63ebd1a53967bfbd79ec888", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol index 96712b077..cd6f78e98 100644 --- a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol +++ b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol @@ -4,8 +4,14 @@ contract MyConc{ } function good(address payable dst) external payable{ - (bool ret, bytes memory _) = dst.call{value:msg.value}(""); + (bool ret, ) = dst.call{value:msg.value}(""); require(ret); } + function good2(address payable dst) external payable{ + (bool ret, ) = dst.call{value:msg.value}(""); + if (!ret) { + revert(); + } + } } diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip index 530d247c4..bccb47182 100644 Binary files a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json deleted file mode 100644 index 4fb9e18e7..000000000 --- a/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json +++ /dev/null @@ -1,132 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.call{value: msg.value}()", - "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 96, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 274, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#2-4) ignores return value by dst.call{value: msg.value}() (tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call{value: msg.value}()](tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4", - "id": "3d788c931cdecb4919bf36187d46e5f66c541055763747d6822741a05b12eb98", - "check": "unchecked-lowlevel", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json b/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json deleted file mode 100644 index 039c36d9e..000000000 --- a/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 395, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 73, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 395, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol#L2-L4", - "id": "53c669b7a1a11ee69bc94ea346368fc8f198ab118986b147f83135047186b948", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json b/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json deleted file mode 100644 index fd3a9775e..000000000 --- a/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 81, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol#L2-L4", - "id": "07b3682c6cfb1a5f141bff2d66a2bab2bbef9dd783d4061716ca6f23283d649f", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json b/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json deleted file mode 100644 index f74efaa70..000000000 --- a/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 81, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol#L2-L4", - "id": "5a8a36e26f96ad9c6c96c2fe504e0199561af6e9e25b901ca899655349f7f64d", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json b/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json deleted file mode 100644 index 3984b49e9..000000000 --- a/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - }, - { - "type": "node", - "name": "dst.send(msg.value)", - "source_mapping": { - "start": 81, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 21, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MyConc", - "source_mapping": { - "start": 0, - "length": 419, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad(address)" - } - } - } - } - ], - "description": "MyConc.bad(address) (tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol#L2-L4", - "id": "9b37538e9923917709a86b5e590c69d39664c6ed979db9c15767acc11317872e", - "check": "unchecked-send", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json b/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json deleted file mode 100644 index 7e14b9765..000000000 --- a/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 461, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "t.transfer(address(0),1000000000000000000)", - "source_mapping": { - "start": 493, - "length": 31, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 461, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "C.bad0() (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#20-22) ignores return value by t.transfer(address(0),1000000000000000000) (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#21)\n", - "markdown": "[C.bad0()](tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22) ignores return value by [t.transfer(address(0),1000000000000000000)](tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#L21)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22", - "id": "e7965c2319b8ce1f10fb8b4c90af763c5bc9e6c74a6706b810de2ee871ed779e", - "check": "unchecked-transfer", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 1043, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "t.transferFrom(address(this),address(0),1000000000000000000)", - "source_mapping": { - "start": 1076, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 59 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 1043, - "length": 90, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 40, - 41, - 42 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 330, - "length": 1456, - "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "C.bad1() (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#40-42) ignores return value by t.transferFrom(address(this),address(0),1000000000000000000) (tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#41)\n", - "markdown": "[C.bad1()](tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42) ignores return value by [t.transferFrom(address(this),address(0),1000000000000000000)](tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#L41)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42", - "id": "eb40769155f8a641f5841fb036ba726b798603ce8cde222293c77d436f0c3657", - "check": "unchecked-transfer", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json deleted file mode 100644 index 002670fea..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,336 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_good", - "source_mapping": { - "start": 775, - "length": 243, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38, - 39, - 40, - 41 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 495, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 465, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_good (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_good](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41", - "id": "08d3e8a72b5da6d189acb46ecd36f00787a87812727526a0cae248a2bac348fc", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad2", - "source_mapping": { - "start": 541, - "length": 232, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 495, - "length": 42, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 465, - "length": 74, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33", - "id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 357, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json deleted file mode 100644 index ea4ac759e..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,190 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 133, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 357, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 320, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json deleted file mode 100644 index 9d5db3cbc..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad2", - "source_mapping": { - "start": 593, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 539, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 500, - "length": 91, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33", - "id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 151, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 384, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json deleted file mode 100644 index a8a2dcc4a..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad2", - "source_mapping": { - "start": 593, - "length": 344, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 27, - 28, - 29, - 30, - 31, - 32, - 33 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "get", - "source_mapping": { - "start": 539, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 24 - ], - "starting_column": 5, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface3", - "source_mapping": { - "start": 500, - "length": 91, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "get(uint256)" - } - } - ], - "description": "DerivedContract_bad2 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33", - "id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "DerivedContract_bad0", - "source_mapping": { - "start": 185, - "length": 151, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f2", - "source_mapping": { - "start": 72, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface", - "source_mapping": { - "start": 0, - "length": 111, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f2()" - } - }, - { - "type": "function", - "name": "f3", - "source_mapping": { - "start": 144, - "length": 37, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseInterface2", - "source_mapping": { - "start": 113, - "length": 70, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f3()" - } - } - ], - "description": "DerivedContract_bad0 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14", - "id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "f1", - "source_mapping": { - "start": 384, - "length": 45, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AbstractContract_bad1", - "source_mapping": { - "start": 338, - "length": 160, - "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "f1()" - } - } - ], - "description": "AbstractContract_bad1 (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21", - "id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7", - "check": "unimplemented-functions", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index 3d768545e..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json +++ /dev/null @@ -1,421 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "s.a(10)", - "source_mapping": { - "start": 671, - "length": 7, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 5, - "ending_column": 12 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 628, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad2 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad2](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L27) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "48965b294d666c5558ddadb16c50004510a7a482f96c0e552626f8c22c74763d", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 164, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 45, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad0 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad0](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L7) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "5cc40c11bac1ce653b3ff8b4ca493a62f4b47720aa75fb8e5bd5396e8821a464", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 858, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 831, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad3 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad3](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L36) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "7c27b9d3ec2de9d0a7adc058d3fea7f1a2cd4cc9b13b0057c52e60fbc63fedc5", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b(10)", - "source_mapping": { - "start": 472, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 196, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad1 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad1](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L16) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "ab3fbfc5752a20c2e3c19725ed0a12e9efa5f3afdbad0e5846e8ca1f02a3b712", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index d8f65e902..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json +++ /dev/null @@ -1,421 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 858, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 831, - "length": 50, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37, - 38 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad3", - "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad3 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad3](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L36) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "0b6c6f4112e4bd5ae791a8f775dfb7bab683b836ad651088919fcac9eb919506", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "b(10)", - "source_mapping": { - "start": 472, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 196, - "length": 286, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad1 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad1](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L16) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "22cdfafee9843c6f077ea2c73482297e3bc2a99684751e011f70f4ba25f75432", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "a(10)", - "source_mapping": { - "start": 164, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 45, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad0", - "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad0 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad0](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L7) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "6296e46dabc9a0ec1bffc6ddd4c2660676b1c5d61b151282e8265c24b9bdf102", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "node", - "name": "s.a(10)", - "source_mapping": { - "start": 671, - "length": 7, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 5, - "ending_column": 12 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 628, - "length": 55, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 25, - 26, - 27, - 28 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "bad2", - "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Contract bad2 (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor\n", - "markdown": "Contract [bad2](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L27) is an unintialized function pointer call in a constructor\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "b5b9c1cfba830927aa14b83f505668f4a35b2fec54f9f2a2d50e5f8ead8bb8bf", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol index d28eef957..37d4650e2 100644 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol +++ b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol @@ -6,4 +6,15 @@ contract Uninitialized{ return uint_not_init + uint_init; } + function noreportfor() public { + for(uint i; i < 6; i++) { + uint a = i; + } + + for(uint j = 0; j < 6; j++) { + uint b = j; + } + + } + } diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip index 60ae4138c..29db479d5 100644 Binary files a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip and b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip differ diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json deleted file mode 100644 index cb09a2128..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol index d28eef957..37d4650e2 100644 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol +++ b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol @@ -6,4 +6,15 @@ contract Uninitialized{ return uint_not_init + uint_init; } + function noreportfor() public { + for(uint i; i < 6; i++) { + uint a = i; + } + + for(uint j = 0; j < 6; j++) { + uint b = j; + } + + } + } diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip index c365c989d..24782d021 100644 Binary files a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip and b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip differ diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json deleted file mode 100644 index 815146f15..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol index d28eef957..22e583ec2 100644 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol +++ b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol @@ -1,9 +1,32 @@ +interface I { + function a() external; +} + contract Uninitialized{ function func() external returns(uint){ uint uint_not_init; uint uint_init = 1; return uint_not_init + uint_init; - } + } + + function func_try_catch(I i) external returns(uint) { + try i.a() { + return 1; + } catch (bytes memory data) { + data; + } + } + + function noreportfor() public { + for(uint i; i < 6; i++) { + uint a = i; + } + + for(uint j = 0; j < 6; j++) { + uint b = j; + } + + } } diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip index ca7ea0eb3..d5b120306 100644 Binary files a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip and b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip differ diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json deleted file mode 100644 index 2dc1ac349..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol index d28eef957..22e583ec2 100644 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol +++ b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol @@ -1,9 +1,32 @@ +interface I { + function a() external; +} + contract Uninitialized{ function func() external returns(uint){ uint uint_not_init; uint uint_init = 1; return uint_not_init + uint_init; - } + } + + function func_try_catch(I i) external returns(uint) { + try i.a() { + return 1; + } catch (bytes memory data) { + data; + } + } + + function noreportfor() public { + for(uint i; i < 6; i++) { + uint a = i; + } + + for(uint j = 0; j < 6; j++) { + uint b = j; + } + + } } diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip index 3049b95bf..30b474ac2 100644 Binary files a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json deleted file mode 100644 index 386c6fdac..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "uint_not_init", - "source_mapping": { - "start": 77, - "length": 18, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 29, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 179, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().uint_not_init (tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4", - "id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json b/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json deleted file mode 100644 index 144a7dba1..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 698, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 878, - "length": 117, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 192, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 172, - "length": 332, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 359, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 172, - "length": 332, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 751, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 820, - "length": 52, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 644, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 58, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 29, - "length": 140, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 84, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 29, - "length": 140, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json b/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json deleted file mode 100644 index 9af086d34..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 916, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 199, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 372, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 782, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 851, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 57, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 91, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json b/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json deleted file mode 100644 index 4bffc62b2..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 916, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 199, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 372, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 782, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 851, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 57, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 91, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json b/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json deleted file mode 100644 index dbd437c52..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json +++ /dev/null @@ -1,456 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 45 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 916, - "length": 129, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 53, - 54, - 55, - 56 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test2.st (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L45", - "id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "balances", - "source_mapping": { - "start": 199, - "length": 34, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "use", - "source_mapping": { - "start": 372, - "length": 154, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 179, - "length": 349, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "use()" - } - } - ], - "description": "Test.balances (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L15", - "id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "v", - "source_mapping": { - "start": 782, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 47 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "init", - "source_mapping": { - "start": 851, - "length": 59, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test2", - "source_mapping": { - "start": 675, - "length": 373, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "init()" - } - } - ], - "description": "Test2.v (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L47", - "id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "destination", - "source_mapping": { - "start": 57, - "length": 27, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 91, - "length": 82, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 28, - "length": 148, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer()" - } - } - ], - "description": "Uninitialized.destination (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol#L5", - "id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json b/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json deleted file mode 100644 index d67fa7dc1..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "st_bug", - "source_mapping": { - "start": 171, - "length": 9, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "func", - "source_mapping": { - "start": 67, - "length": 143, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 217, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "func()" - } - } - } - } - ], - "description": "Uninitialized.func().st_bug (tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#10) is a storage variable never initialized\n", - "markdown": "[Uninitialized.func().st_bug](tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10) is a storage variable never initialized\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10", - "id": "b8f7c2470a8a7f83fd42dca40c50cbf2070e7fa5486c674585f2b0b39d3dc429", - "check": "uninitialized-storage", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json b/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json deleted file mode 100644 index 4b867cc05..000000000 --- a/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json +++ /dev/null @@ -1,90 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "ret", - "source_mapping": { - "start": 100, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 38, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 67, - "length": 95, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Uninitialized", - "source_mapping": { - "start": 0, - "length": 262, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad()" - } - } - } - } - ], - "description": "Uninitialized.bad().ret (tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#7) is a storage variable never initialized\n", - "markdown": "[Uninitialized.bad().ret](tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#L7) is a storage variable never initialized\n", - "first_markdown_element": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#L7", - "id": "979d28e501693ed7ece0d429e7c30266f8e9d6a2e2eedc87006c4bad63e78706", - "check": "uninitialized-storage", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json deleted file mode 100644 index 5338de68e..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 277, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 88, - "length": 115, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 277, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 208, - "length": 98, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 277, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json deleted file mode 100644 index 5c95df3d9..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 115, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 216, - "length": 98, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json deleted file mode 100644 index 6612db2c4..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 115, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 216, - "length": 98, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json deleted file mode 100644 index 4ee7824d0..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 115, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 216, - "length": 98, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 285, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json deleted file mode 100644 index 69bdcf712..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json +++ /dev/null @@ -1,145 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 294, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 96, - "length": 124, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 294, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize()" - } - }, - { - "type": "function", - "name": "kill", - "source_mapping": { - "start": 225, - "length": 98, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Buggy", - "source_mapping": { - "start": 31, - "length": 294, - "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "kill()" - } - } - ], - "description": "Buggy (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#3-14) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#L3-L14) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol#L3-L14", - "id": "d85b90230632a30f7ffb5140a791d4a9ae8b0be045c5b27175f3c477e189c08c", - "check": "unprotected-upgrade", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol index d1c189598..ef22b63ae 100644 --- a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol +++ b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol @@ -8,6 +8,7 @@ library SafeMath{ contract Target{ function f() public returns(uint); + function g() public returns(uint, uint); } contract User{ @@ -26,5 +27,12 @@ contract User{ // As the value returned by the call is stored // (unused local variable should be another issue) uint b = a.add(1); + + t.g(); + + (uint c, uint d) = t.g(); + + // Detected as unused return + (uint e,) = t.g(); } } diff --git a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip index bfe469a89..8f64587ae 100644 Binary files a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip and b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip differ diff --git a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json deleted file mode 100644 index e7bbae2d7..000000000 --- a/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 279, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#L17-L29", - "id": "c5015552dbe34ab3e4ad7fddcf3ce9a62065df0780ac4541d441f23a1617ac53", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 353, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol#L17-L29", - "id": "e80688c415b86f06ab1b89934f843c8f566f5f073c821315581f2f93dbb2ac25", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol index d1c189598..ef22b63ae 100644 --- a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol +++ b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol @@ -8,6 +8,7 @@ library SafeMath{ contract Target{ function f() public returns(uint); + function g() public returns(uint, uint); } contract User{ @@ -26,5 +27,12 @@ contract User{ // As the value returned by the call is stored // (unused local variable should be another issue) uint b = a.add(1); + + t.g(); + + (uint c, uint d) = t.g(); + + // Detected as unused return + (uint e,) = t.g(); } } diff --git a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip index 90d776869..13d0d7a32 100644 Binary files a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip and b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip differ diff --git a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json deleted file mode 100644 index a99fba736..000000000 --- a/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 279, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#L17-L29", - "id": "7843b65e61884b02dc8cf4350acc7821049497a85a283c2bc9d0ba86ae3271d1", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 353, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 239, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 189, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol#L17-L29", - "id": "d876e2686a0e1aa7863854de350210a92276a3cb046989301b13d02405b350fd", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol index 08d0eb3a5..279ac627e 100644 --- a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol +++ b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol @@ -8,6 +8,7 @@ library SafeMath{ abstract contract Target{ function f() public virtual returns(uint); + function g() public virtual returns(uint, uint); } contract User{ @@ -26,5 +27,12 @@ contract User{ // As the value returned by the call is stored // (unused local variable should be another issue) uint b = a.add(1); + + t.g(); + + (uint c, uint d) = t.g(); + + // Detected as unused return + (uint e,) = t.g(); } } diff --git a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip index 5f04b6a00..30ae73040 100644 Binary files a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip and b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip differ diff --git a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json deleted file mode 100644 index faaa7ed63..000000000 --- a/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 370, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#L17-L29", - "id": "3dc614b48b1a73e884a9eab5a5edf9e72ef8150d1f6113cff92c8e07d561ddbb", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 296, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol#L17-L29", - "id": "4aef1645332b4a0136e6a0e78fd3fa35ddef10772b35bab5e548ea68e635cad2", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol index 08d0eb3a5..279ac627e 100644 --- a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol +++ b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol @@ -8,6 +8,7 @@ library SafeMath{ abstract contract Target{ function f() public virtual returns(uint); + function g() public virtual returns(uint, uint); } contract User{ @@ -26,5 +27,12 @@ contract User{ // As the value returned by the call is stored // (unused local variable should be another issue) uint b = a.add(1); + + t.g(); + + (uint c, uint d) = t.g(); + + // Detected as unused return + (uint e,) = t.g(); } } diff --git a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip index ac668ccc9..08ecd82e6 100644 Binary files a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip and b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip differ diff --git a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json deleted file mode 100644 index 976a5e944..000000000 --- a/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json +++ /dev/null @@ -1,328 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "a.add(0)", - "source_mapping": { - "start": 370, - "length": 8, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 17 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by a.add(0) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#L22)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#L17-L29", - "id": "09f2e1abd220d36055b9a751ae0009c7346054948c4e2bcd2191621412abc445", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - }, - { - "type": "node", - "name": "t.f()", - "source_mapping": { - "start": 296, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 9, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "test", - "source_mapping": { - "start": 256, - "length": 354, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "User", - "source_mapping": { - "start": 206, - "length": 406, - "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", - "is_dependency": false, - "lines": [ - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "test(Target)" - } - } - } - } - ], - "description": "User.test(Target) (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by t.f() (tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#L18)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol#L17-L29", - "id": "9893d158fba1f4647212ce557a98037ba20350e55e7432f6d78ea11860f2ade2", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json b/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json deleted file mode 100644 index d1fd736d2..000000000 --- a/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L4) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L7) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L5) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L6) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json b/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json deleted file mode 100644 index eed961d11..000000000 --- a/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L4) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L7) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L5) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L6) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json b/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json deleted file mode 100644 index 90126296b..000000000 --- a/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L4) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L7) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L5) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L6) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json b/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json deleted file mode 100644 index f959460a9..000000000 --- a/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json +++ /dev/null @@ -1,304 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "unused", - "source_mapping": { - "start": 44, - "length": 14, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 5, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#4) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L4) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L4", - "id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused4", - "source_mapping": { - "start": 106, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused4 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#7) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L7) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L7", - "id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused2", - "source_mapping": { - "start": 64, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused2 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#5) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L5) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L5", - "id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "unused3", - "source_mapping": { - "start": 85, - "length": 15, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 28, - "length": 114, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "contract", - "name": "B", - "source_mapping": { - "start": 144, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "A.unused3 (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#6) is never used in B (tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L6) is never used in [B](tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol#L6", - "id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48", - "check": "unused-state", - "impact": "Informational", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json b/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json deleted file mode 100644 index 5825bcacc..000000000 --- a/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - [] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json b/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json deleted file mode 100644 index bef851b5e..000000000 --- a/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L11-L13", - "id": "55503790711e79d47b5a41729e9de26ce1fda4ab9c0935699a14cc107501842f", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L14-L18", - "id": "7e28633dee0a5338ebf7ccf52d467d96e66822051333ac4bc66de407ff56f3bd", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L5-L7", - "id": "c5f735934f6390e4bb9ceae821df4ef6b509dde6dead3cea64f3db09508d6029", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1107, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol#L8-L10", - "id": "e77df2d273271c1f2dea4480d2958fd432f725463ff933493542ccdff84987b5", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json b/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json deleted file mode 100644 index 0a879704d..000000000 --- a/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L8-L10", - "id": "9a65c3b63270657dc2c8cccb6e65b1b2a2c1f662b3d82969b258adf63430f46c", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L5-L7", - "id": "d6aadc6c5e0b16141411ad82b627e660be61fe615802a6fba82fb0680d8ec677", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L11-L13", - "id": "ee3598271c55ef81ce5bb5797f41fe975de5f5a14728b4fb87fed3477f01c238", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol#L14-L18", - "id": "fca8c2dd2139fad566cfbd2302ebbeabd3e18380a3969fe5bca5128234bcfef2", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json b/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json deleted file mode 100644 index 9b34e90d3..000000000 --- a/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L8-L10", - "id": "290598228553ac4edab639bddf2d53828b34be8d1042a2b4a6d123204d496f35", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L14-L18", - "id": "30a0f3b46a9e9a90b039eb227e2718a281380de9a1e9af5dc185d56cfd66a2c7", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L5-L7", - "id": "b256cea47af4d3cd37395d1a733b696008854142bbde559be84d26bd9762ee94", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol#L11-L13", - "id": "f08a064b6849275d93e7950958053cc779230d9ed5aa56c2e0ee64bc42a64a18", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json b/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json deleted file mode 100644 index f5cbbe0d7..000000000 --- a/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json +++ /dev/null @@ -1,736 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "this.erc20()", - "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 9, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad2() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#8-10) reads this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#9) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad2()](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L9) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L8-L10", - "id": "40ec22aa539127c7cb3bc7631b7f92ebbfc062ff2d9c0df1f1939c5560d446ca", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - }, - { - "type": "node", - "name": "this.myMap(x)", - "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 5, - 6, - 7 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(uint256)" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#6) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad1(uint256)](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L6) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L5-L7", - "id": "be52068edd166c8df6487c7731a41ae63028b53837808ab34cfc7ed8f7f0e25a", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - }, - { - "type": "node", - "name": "local = this.erc20()", - "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 14, - 15, - 16, - 17, - 18 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad4()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad4() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#16) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad4()](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L16) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L14-L18", - "id": "ebe2972f34a0dab794de30abdcaa715345347d50e045220e34b6fe186b3116e9", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "this.erc20() == address(0)", - "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 13, - "ending_column": 39 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 11, - 12, - 13 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VarReadUsingThis", - "source_mapping": { - "start": 1, - "length": 1103, - "filename_relative": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "The function VarReadUsingThis.bad3() (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#12) with `this` which adds an extra STATICCALL.\n", - "markdown": "The function [VarReadUsingThis.bad3()](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L12) with `this` which adds an extra STATICCALL.\n", - "first_markdown_element": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol#L11-L13", - "id": "faca8090dd3c1760f275353c90f014075eae7ad4ee5cd3559ef7219cd842bb1f", - "check": "var-read-using-this", - "impact": "Optimization", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json b/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json deleted file mode 100644 index 6950dcb48..000000000 --- a/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json +++ /dev/null @@ -1,1299 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "i --", - "source_mapping": { - "start": 417, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 29, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i -- (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i --](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "095c11e8610be17375a514b274a990111f6eecade86dcfb496e9f37928e897d6", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "x += i", - "source_mapping": { - "start": 436, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 13, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: x += i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#15)\n", - "markdown": "Variable '[C.f(uint256).i](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [x += i](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L15)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "1fd0e708c176441472d554bac03777d3bbefc96772c8f5d2cbf0ce9a8bbfb96a", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "i > 0", - "source_mapping": { - "start": 410, - "length": 5, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 22, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i > 0 (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i > 0](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "5488c1057b2ea266ea7471dff81dfc1b833e117af14dd80fbc2ec6b895c042f8", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "i", - "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 18, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "i = 10", - "source_mapping": { - "start": 402, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 14, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).i (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i = 10 (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i = 10](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "7a8e31247c347e66766a188c2b474c43e42d7ae3d848eee491b448b7f006ec45", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "x", - "source_mapping": { - "start": 130, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - }, - { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - }, - { - "type": "node", - "name": "y = x + 9 + z", - "source_mapping": { - "start": 69, - "length": 13, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 4 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "f", - "source_mapping": { - "start": 17, - "length": 442, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "C", - "source_mapping": { - "start": 0, - "length": 461, - "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "f(uint256)" - } - } - } - } - ], - "description": "Variable 'C.f(uint256).x (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#5)' in C.f(uint256) (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: y = x + 9 + z (tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#4)\n", - "markdown": "Variable '[C.f(uint256).x](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L5)' in [C.f(uint256)](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [y = x + 9 + z](tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L4)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol#L5", - "id": "94c4c9c10924861806ab710b2985af6bf804e7a4be0e53e9faebe25b48d94c12", - "check": "variable-scope", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json b/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json deleted file mode 100644 index d1a086fb3..000000000 --- a/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#10-12):\n\t- C() (tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#L10-L12):\n\t- [C()](tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol#L10-L12", - "id": "55ac96fcef936e541b9795169e91e30db40ef05b05579e409099c7c216e50a1e", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json b/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json deleted file mode 100644 index 7134909b6..000000000 --- a/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#10-12):\n\t- C() (tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#L10-L12):\n\t- [C()](tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol#L10-L12", - "id": "cc95457850d185b1d1b294987dcfbf4d46368435b7b739884040b6e9beff545d", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json b/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json deleted file mode 100644 index 5504c2332..000000000 --- a/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#10-12):\n\t- C() (tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#L10-L12):\n\t- [C()](tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol#L10-L12", - "id": "73a68bb3efac669142fd13cd60fb44891b45e1a85791aefe5191e8c751b5469f", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json b/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json deleted file mode 100644 index 0096a9256..000000000 --- a/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json +++ /dev/null @@ -1,124 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - }, - { - "type": "node", - "name": "C()", - "source_mapping": { - "start": 62, - "length": 3, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 26, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 41, - "length": 32, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "D", - "source_mapping": { - "start": 19, - "length": 57, - "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor()" - } - } - } - } - ], - "description": "Void constructor called in D.constructor() (tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#10-12):\n\t- C() (tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#L10-L12):\n\t- [C()](tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#L10)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol#L10-L12", - "id": "7ae5f294c43db6bc7621197cb8a85bfa9f2fc2d96c5534b80f5e3de95ffa6706", - "check": "void-cst", - "impact": "Low", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json b/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json deleted file mode 100644 index 0c508dbc9..000000000 --- a/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = now % 10", - "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L8-L10", - "id": "143f5f0813a8024fe87180dc965da233f389d77a41bad7b937acde2f5555e13e", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L12-L14", - "id": "a48a54481e1fc0db4bca891f0c3f22b29bf26ced0d0b8431d888967c3263b264", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L20-L22", - "id": "cac2fa07af6b5b7ea3532b6c1b1e1d260037c40b731fcc45a75f206d6a648652", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol#L4-L6", - "id": "d5ccd15b3c621af3f73362f44b9d4d23def15db653ce33b361a644434be9602c", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json b/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json deleted file mode 100644 index e999af5f9..000000000 --- a/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = now % 10", - "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L8-L10", - "id": "3c7be6367f5be15ead00dfbcfc2022fdb73817e5f935c6015ba4fc807b505f69", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L4-L6", - "id": "be9b456f0a8ae7cb5bbc52eae709817707238cc2316533b72ac707cb3228316f", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L12-L14", - "id": "c158977d5022ad3d99288118f7a6f52b52bb33f9977554bd4d0818ff51c9e9c2", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol#L20-L22", - "id": "fd288ed50722fc401dd1618df6351f671367dfd03eb5640ebf32022c2c7616a6", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json b/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json deleted file mode 100644 index 8c7a1f4ca..000000000 --- a/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = now % 10", - "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L8-L10", - "id": "00229cc63ae06a1fdb0d8046a4e7c0ade397b309659a2b597399a3663985b25a", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L4-L6", - "id": "075aa1de6fc21238aeeaffdfbae1b4361021f8a6c476b422e40a4cabfc337ae4", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L12-L14", - "id": "0f2caf1275a0fff75dc984176de06ea8ffade337f7d54176a7902cc77fad2333", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 499, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol#L20-L22", - "id": "5af8366c76386b6e2acdad51dfcbbd64226e53e7b4decab2acd11a9ce5b4ba3c", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json b/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json deleted file mode 100644 index 3b85badb2..000000000 --- a/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json +++ /dev/null @@ -1,644 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 375, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - }, - { - "type": "node", - "name": "i = foo() % 10", - "source_mapping": { - "start": 407, - "length": 19, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 7, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 375, - "length": 58, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "BadPRNG.bad3() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L20-L22", - "id": "07d06861c819615e4db8b0e5dad920b32ffd6264b7e167fbeb3c832d26970b33", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 196, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - }, - { - "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", - "source_mapping": { - "start": 228, - "length": 39, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 7, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 196, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad2()" - } - } - } - } - ], - "description": "BadPRNG.bad2() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L12-L14", - "id": "235a90165fd614c1665cc0f21365b3be51c00c850e4023e6fb490073335e9799", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 154, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 122, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 8, - 9, - 10 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1()" - } - } - } - } - ], - "description": "BadPRNG.bad1() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: \"i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = block.timestamp % 10](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L8-L10", - "id": "5b78d3756b66561562fbf9c19a39c7083e422f1e0404a7635e01aed584636221", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "i = block.timestamp % 10", - "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 5 - ], - "starting_column": 7, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BadPRNG", - "source_mapping": { - "start": 0, - "length": 511, - "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "BadPRNG.bad0() (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol#L4-L6", - "id": "998e1c79a2cdbd1e2ff7c3faf1546c5fdf0bf9095f49e7fc9dd1fa4f6d673dac", - "check": "weak-prng", - "impact": "High", - "confidence": "Medium" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json b/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json deleted file mode 100644 index 9a08b581f..000000000 --- a/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json +++ /dev/null @@ -1,1070 +0,0 @@ -[ - [ - { - "elements": [ - { - "type": "variable", - "name": "state", - "source_mapping": { - "start": 20, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 5, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "node", - "name": "state = 10", - "source_mapping": { - "start": 157, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_state", - "source_mapping": { - "start": 116, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_state()" - } - } - } - }, - { - "type": "node", - "name": "state = 20", - "source_mapping": { - "start": 177, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_state", - "source_mapping": { - "start": 116, - "length": 78, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 9, - 10, - 11, - 12 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_state()" - } - } - } - } - ], - "description": "Test.state (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#3) is written in both\n\tstate = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#10)\n\tstate = 20 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#11)\n", - "markdown": "[Test.state](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L3) is written in both\n\t[state = 10](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L10)\n\t[state = 20](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L11)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L3", - "id": "ac5839f78b0995be85eede2862996d38a3a50c70e92668462f31fadce02f081e", - "check": "write-after-write", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "local", - "source_mapping": { - "start": 894, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 52 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bugy_external_local", - "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bugy_external_local()" - } - } - } - }, - { - "type": "node", - "name": "local = 10", - "source_mapping": { - "start": 914, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 53 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bugy_external_local", - "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bugy_external_local()" - } - } - } - }, - { - "type": "node", - "name": "local = 11", - "source_mapping": { - "start": 973, - "length": 10, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 56 - ], - "starting_column": 9, - "ending_column": 19 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bugy_external_local", - "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 51, - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bugy_external_local()" - } - } - } - } - ], - "description": "Test.bugy_external_local().local (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#52) is written in both\n\tlocal = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#53)\n\tlocal = 11 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#56)\n", - "markdown": "[Test.bugy_external_local().local](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L52) is written in both\n\t[local = 10](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L53)\n\t[local = 11](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L56)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L52", - "id": "bbb2aea426252f6fa0c1bb26bc05cdadfa245207b59273fcd3a5afcdaff675ce", - "check": "write-after-write", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "a", - "source_mapping": { - "start": 351, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_local", - "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_local()" - } - } - } - }, - { - "type": "node", - "name": "a = 10", - "source_mapping": { - "start": 367, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 22 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_local", - "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_local()" - } - } - } - }, - { - "type": "node", - "name": "a = 20", - "source_mapping": { - "start": 383, - "length": 6, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 23 - ], - "starting_column": 9, - "ending_column": 15 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "buggy_local", - "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Test", - "source_mapping": { - "start": 0, - "length": 992, - "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", - "is_dependency": false, - "lines": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "buggy_local()" - } - } - } - } - ], - "description": "Test.buggy_local().a (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#21) is written in both\n\ta = 10 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#22)\n\ta = 20 (tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#23)\n", - "markdown": "[Test.buggy_local().a](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L21) is written in both\n\t[a = 10](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L22)\n\t[a = 20](tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L23)\n", - "first_markdown_element": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol#L21", - "id": "f676e1dedd369680cb4b83867fa0f2bc5ff5e9d7f9e089fcbb31a824c77e2bb8", - "check": "write-after-write", - "impact": "Medium", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/e2e/detectors/test_detectors.py b/tests/e2e/detectors/test_detectors.py index fe5b302d6..6fc04e4e1 100644 --- a/tests/e2e/detectors/test_detectors.py +++ b/tests/e2e/detectors/test_detectors.py @@ -1,15 +1,13 @@ -import json import os from pathlib import Path import sys -from pprint import pprint from typing import Type, Optional, List import pytest -from deepdiff import DeepDiff # pip install deepdiff from crytic_compile import CryticCompile, save_to_zip from crytic_compile.utils.zip import load_from_zip +from solc_select import solc_select from slither import Slither from slither.detectors.abstract_detector import AbstractDetector @@ -35,7 +33,6 @@ class Test: # pylint: disable=too-few-public-methods """ self.detector = detector self.test_file = test_file - self.expected_result = test_file + "." + solc_ver + "." + detector.__name__ + ".json" self.solc_ver = solc_ver if additional_files is None: self.additional_files = [] @@ -46,6 +43,10 @@ class Test: # pylint: disable=too-few-public-methods def set_solc(test_item: Test): # pylint: disable=too-many-lines # hacky hack hack to pick the solc version we want env = dict(os.environ) + + if not solc_select.artifact_path(test_item.solc_ver).exists(): + print("Installing solc version", test_item.solc_ver) + solc_select.install_artifacts([test_item.solc_ver]) env["SOLC_VERSION"] = test_item.solc_ver os.environ.clear() os.environ.update(env) @@ -55,7 +56,7 @@ def id_test(test_item: Test): return f"{test_item.detector.__name__}-{test_item.solc_ver}-{test_item.test_file}" -ALL_TEST_OBJECTS = [ +ALL_TESTS = [ Test( all_detectors.UninitializedFunctionPtrsConstructor, "uninitialized_function_ptr_constructor.sol", @@ -1638,108 +1639,50 @@ ALL_TEST_OBJECTS = [ "LowCyclomaticComplexity.sol", "0.8.16", ), + Test( + all_detectors.CacheArrayLength, + "CacheArrayLength.sol", + "0.8.17", + ), + Test( + all_detectors.IncorrectUsingFor, + "IncorrectUsingForTopLevel.sol", + "0.8.17", + ), + Test( + all_detectors.EncodePackedCollision, + "encode_packed_collision.sol", + "0.7.6", + ), ] - -def get_all_tests() -> List[Test]: - # installed_solcs = set(get_installed_solc_versions()) - # required_solcs = {test.solc_ver for test in ALL_TEST_OBJECTS} - # missing_solcs = list(required_solcs - installed_solcs) - # if missing_solcs: - # install_solc_versions(missing_solcs) - - return ALL_TEST_OBJECTS - - -ALL_TESTS = get_all_tests() - GENERIC_PATH = "/GENERIC_PATH" TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" - # pylint: disable=too-many-locals @pytest.mark.parametrize("test_item", ALL_TESTS, ids=id_test) -def test_detector(test_item: Test): +def test_detector(test_item: Test, snapshot): test_dir_path = Path( TEST_DATA_DIR, test_item.detector.ARGUMENT, test_item.solc_ver, ).as_posix() test_file_path = Path(test_dir_path, test_item.test_file).as_posix() - expected_result_path = Path(test_dir_path, test_item.expected_result).absolute().as_posix() zip_artifact_path = Path(f"{test_file_path}-{test_item.solc_ver}.zip").as_posix() crytic_compile = load_from_zip(zip_artifact_path)[0] - # The absolute paths saved in the zip file must be replaced by the generic path - artifact_filenames = crytic_compile.filenames sl = Slither(crytic_compile) sl.register_detector(test_item.detector) results = sl.run_detectors() - with open(expected_result_path, encoding="utf8") as f: - expected_result = json.load(f) - - results_as_string = json.dumps(results) - - for additional_file in test_item.additional_files: - additional_path = Path(test_dir_path, additional_file).absolute().as_posix() - additional_path = additional_path.replace("\\", "\\\\") - for artifact_filename in artifact_filenames: - results_as_string = results_as_string.replace(artifact_filename.absolute, GENERIC_PATH) - - test_file_path = test_file_path.replace("\\", "\\\\") - for artifact_filename in artifact_filenames: - results_as_string = results_as_string.replace(artifact_filename.absolute, GENERIC_PATH) - results = json.loads(results_as_string) - - diff = DeepDiff(results, expected_result, ignore_order=True, verbose_level=2) - if diff: - pprint(diff) - diff_as_dict = diff.to_dict() - - if "iterable_item_added" in diff_as_dict: - print("#### Findings added") - for finding_added in diff_as_dict["iterable_item_added"].values(): - print(finding_added["description"]) - if "iterable_item_removed" in diff_as_dict: - print("#### Findings removed") - for finding_added in diff_as_dict["iterable_item_removed"].values(): - print(finding_added["description"]) - assert False - - -def _generate_test(test_item: Test, skip_existing=False): - test_dir_path = Path( - TEST_DATA_DIR, - test_item.detector.ARGUMENT, - test_item.solc_ver, - ).as_posix() - test_file_path = Path(test_dir_path, test_item.test_file).as_posix() - expected_result_path = Path(test_dir_path, test_item.expected_result).absolute().as_posix() - - if skip_existing: - if os.path.isfile(expected_result_path): - return - - set_solc(test_item) - sl = Slither(test_file_path) - sl.register_detector(test_item.detector) - results = sl.run_detectors() - - results_as_string = json.dumps(results) - test_file_path = test_file_path.replace("\\", "\\\\") - results_as_string = results_as_string.replace(test_file_path, GENERIC_PATH) - - for additional_file in test_item.additional_files: - additional_path = Path(test_dir_path, additional_file).absolute().as_posix() - additional_path = additional_path.replace("\\", "\\\\") - results_as_string = results_as_string.replace(additional_path, GENERIC_PATH) - - results = json.loads(results_as_string) - with open(expected_result_path, "w", encoding="utf8") as f: - f.write(json.dumps(results, indent=4)) + actual_output = "" + for detector_result in results: + for result in detector_result: + actual_output += result["description"] + actual_output += "\n" + assert snapshot() == actual_output def _generate_compile(test_item: Test, skip_existing=False): @@ -1762,13 +1705,9 @@ def _generate_compile(test_item: Test, skip_existing=False): if __name__ == "__main__": if len(sys.argv) != 2: - print("To generate the json artifacts run\n\tpython tests/test_detectors.py --generate") - elif sys.argv[1] == "--generate": - for next_test in ALL_TESTS: - _generate_test(next_test, skip_existing=True) - elif sys.argv[1] == "--overwrite": - for next_test in ALL_TESTS: - _generate_test(next_test) + print( + "To generate the zip artifacts run\n\tpython tests/e2e/tests/test_detectors.py --compile" + ) elif sys.argv[1] == "--compile": for next_test in ALL_TESTS: _generate_compile(next_test, skip_existing=True) diff --git a/tests/e2e/solc_parsing/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py index 78aa8a291..307e6736f 100644 --- a/tests/e2e/solc_parsing/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -308,6 +308,7 @@ ALL_TESTS = [ Test("units_and_global_variables-0.8.0.sol", VERSIONS_08), Test("units_and_global_variables-0.8.4.sol", make_version(8, 4, 6)), Test("units_and_global_variables-0.8.7.sol", make_version(8, 7, 9)), + Test("global_variables-0.8.18.sol", make_version(8, 18, 18)), Test( "push-all.sol", ALL_VERSIONS, @@ -428,6 +429,7 @@ ALL_TESTS = [ Test("user_defined_value_type/in_parenthesis-0.8.8.sol", ["0.8.8"] + make_version(8, 10, 15)), Test("user_defined_value_type/top-level-0.8.8.sol", ["0.8.8"] + make_version(8, 10, 15)), Test("user_defined_value_type/using-for-0.8.8.sol", ["0.8.8"] + make_version(8, 10, 15)), + Test("user_defined_value_type/abi-decode-fixed-array.sol", ["0.8.8"] + make_version(8, 10, 15)), Test("bytes_call.sol", ["0.8.12"]), Test("modifier_identifier_path.sol", VERSIONS_08), Test("free_functions/libraries_from_free.sol", ["0.8.12"]), @@ -451,6 +453,12 @@ ALL_TESTS = [ Test("yul-top-level-0.8.0.sol", ["0.8.0"]), Test("complex_imports/import_aliases_issue_1319/test.sol", ["0.5.12"]), Test("yul-state-constant-access.sol", ["0.8.16"]), + Test("negate-unary-element.sol", ["0.8.16"]), + Test( + "assembly-functions.sol", + ["0.6.9", "0.7.6", "0.8.16"], + ), + Test("user_defined_operators-0.8.19.sol", ["0.8.19"]), ] # create the output folder if needed try: @@ -493,12 +501,9 @@ class TestASTParsing: actual = generate_output(sl) - try: - with open(expected, "r", encoding="utf8") as f: - expected = json.load(f) - except OSError: - pytest.xfail("the file for this test was not generated") - raise + assert os.path.isfile(expected), f"Expected file {expected} does not exist" + with open(expected, "r", encoding="utf8") as f: + expected = json.load(f) diff = DeepDiff(expected, actual, ignore_order=True, verbose_level=2, view="tree") if diff: diff --git a/tests/e2e/solc_parsing/test_data/assembly-all.sol b/tests/e2e/solc_parsing/test_data/assembly-all.sol index 0a0efc63a..174ed06b3 100644 --- a/tests/e2e/solc_parsing/test_data/assembly-all.sol +++ b/tests/e2e/solc_parsing/test_data/assembly-all.sol @@ -1,5 +1,12 @@ contract C { - function f() public { + modifier a() { + assembly { + let y := 0 + } + _; + } + + function f() public a { assembly { let x := 0 } diff --git a/tests/e2e/solc_parsing/test_data/assembly-functions.sol b/tests/e2e/solc_parsing/test_data/assembly-functions.sol new file mode 100644 index 000000000..224e16bab --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/assembly-functions.sol @@ -0,0 +1,12 @@ +contract A { + function foo() public { + assembly { + function f() { function z() { function x() { g() } x() } z() } + function w() { function a() {} function b() { a() } b() } + function g() { + f() + } + g() + } + } +} diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip index 28941b5b9..91d6a134d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip index f55fa211a..b9d9d2076 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip index 801a99921..287f7e555 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip index 5d2ea6db8..431138261 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip index b6f791ad5..916022d6a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip index e62ea14b0..e1e5b3d79 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip index 1c1826f50..9fbc9069f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip index 4a88a2a6c..eec6b6023 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip index ebf3574d1..5fa673a5c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip index 55b227052..91ed17269 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip index 3f79ed597..98bcf050b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip index e6be05ce3..1ba7ede7f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip index 2a862c37f..6ac0723b8 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip index cf1c5c9fb..8f6c8053b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip index a42b05491..0b78298b0 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip index 42a7ee88c..955e2b7cb 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip index ca31d31c3..ed0e3aa7b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip index 0768723d0..86194c229 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip index 3b92a23af..1b982457f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip index 2a5fd5b7a..6c393cfa1 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip index a6ba3aacb..7c4008989 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip index 8b8f30dd6..4d610d341 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip index 2d9d88bcb..5a1a08c04 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip index 42254f393..0de398c7a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip index f9a870397..15dc7ffb6 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip index 1a8e80479..658acc2b7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip index c266d7931..270fd7b2d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip index b5607c964..c3bd9ce86 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip index 09da2e413..86e697d64 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip index 677b4965f..5709f5130 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip index 5dfa96aee..dcb843fd5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip index a7ee7fce8..557f1a96b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip index 236a1124c..54745604f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip index 4cd36ba3f..9665f9958 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip index bf5959f43..2e20dc9ad 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip index b7d8e5f03..b0023845f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip index 0c7f3cea8..4f9fd341a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip index 1c7d60be0..ccc91e217 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip index 4e338b468..dc8b7ac31 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip index 0b49cdd18..af48a0628 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip index b5ef454ca..ba94e3241 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip index 7ccdaa950..e02aa330b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip index 86d8eb05c..412fa29b5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip index edb60bb67..5ef78458f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip index 2e5be7171..c1a178c34 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip index 333c69772..32ba6346c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip index 962571d03..3e8933b3a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip index 19fb8284c..93c3f6068 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip index 4cff3247b..b2aa46d60 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip index e5d8b0b41..09fd631c0 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip index 22e8fd428..56188ec44 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip index 695617f51..bac3cde6e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip index acb7d6796..ad436935c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip index 1bfff0422..6b575731c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip index eb8efae0b..ed821b062 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip index 7053dabc7..d7363b8cc 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip index 091a23323..3abf2b298 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip index 0132ab493..d0a6334d8 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip index a93c136c7..53d77d0a8 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip index cd86e9a95..c97a0eff3 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip index e8d7684f5..e4e8b556a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip index 3e7c49479..ae10a4008 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip index 38aac53ce..b85520f87 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip index 4f0b6acfc..50f206f86 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip index 84cea25f7..004c320eb 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip index 843b7fb1e..89bcdd0d0 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip index 6d25105ff..1e0d82640 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip index d0f8dea26..262f42c65 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip index 76a09f1a1..c046f4207 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip index a0b79e63c..20e8d98b5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip index 71f0136c0..e668e3f96 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip index 514056024..236d2a227 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip index 4a6cfab0f..aec323d99 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip index 583fcbc9d..0aafd218a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip index c6ecead8f..9c616b937 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip index 4e13b20fe..ee94b2970 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip index 6633774e8..084d6aac6 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip index a01fa5cd7..32b34e0f9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip index 64717b63c..3058dbca6 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip index 06cad84a8..ffdaefeb3 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip index 24cf676b1..7033579a9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip index c0caa753b..2979631c4 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip index 018b1e00a..8e180d71a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip index fcabf3ad3..65ac7c958 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip index 1be739ae1..2fce02cd7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip index 224113193..f8840dfcd 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip index 4e58e91d0..c5e01d83f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip index bc5b6657f..ff0c742c1 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip index ff8267acb..875585dea 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip index e3b8fbdcf..0b67ad13b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip index 94eaf47d1..99d3468c5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip index 63c058f5f..fde27adef 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip index 144830f76..e09dc04f2 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip index a31bb7e9a..c1763bd59 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip index cd6c8799c..fc2640c06 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip index 9f9e259d8..f5a82eb25 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip index 0a1a6be2c..fbb76045d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip index ac8c72210..822f4c12b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip index a8a4f221f..324d7cee8 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip index 54da87cbe..5a25ff028 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip index 372005277..f0ee77158 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip index db94cfdcf..53dc9b429 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip index 10ebee8a2..0068a87b4 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip index 20a034cb7..cdb2d2d02 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip index 4a1d85e48..dc388e2f2 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip index b047c7ab5..ad451def3 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip index 226b96413..81567e45c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip index f7d4ad12d..0e264b72e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip index df85cbfe3..b274b2558 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip index bed9cde8e..a0ae29677 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip index ea955841b..dd9bd2531 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip index 77cef8236..00ba1790b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip index aab2f7e37..1a03ef961 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip index df0e84c01..3d0bb6ec7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip index fd77f664b..50dda9738 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip index 1eb5b90db..6d7133177 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip index ea43d482d..a6364c6e1 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip index 82b428f41..d5f277e75 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip index f6153c491..45c48a5d5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip index d3e9ff247..614acf453 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip index 8b8d8c663..c745c9a9d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip index 24f182362..6891c6e0f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip index c6f3fc59a..fbb55e067 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip index 87ef389a3..48c2eefab 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip index 20246078f..45a1a9cc9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip index 30420079b..c1e1b9d58 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip index 1f97f78be..c67dcfeb1 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip index af0e448f1..ce6a17cf9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip index 9e3e978c0..6891b902b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip index 6470eacaa..b031ed0cd 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip index 7eb28aaf8..5951c071a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip index b280b0715..c3e4a2a7d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip index ecce25916..dce6d37ff 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip index 86b3da212..8c37f7b8f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.6.9-compact.zip new file mode 100644 index 000000000..8389eb6f5 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.6.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.6.9-legacy.zip new file mode 100644 index 000000000..a05a1cd47 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.6.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.7.6-compact.zip new file mode 100644 index 000000000..b21bdae6f Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.7.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.7.6-legacy.zip new file mode 100644 index 000000000..c1285733d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.7.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.8.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.8.16-compact.zip new file mode 100644 index 000000000..a2b78d7b0 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/assembly-functions.sol-0.8.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/global_variables-0.8.18.sol-0.8.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/global_variables-0.8.18.sol-0.8.18-compact.zip new file mode 100644 index 000000000..04dde0da9 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/global_variables-0.8.18.sol-0.8.18-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/negate-unary-element.sol-0.8.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/negate-unary-element.sol-0.8.16-compact.zip new file mode 100644 index 000000000..c18e5091b Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/negate-unary-element.sol-0.8.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip index e575a37a7..04dc217a8 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip index b5ff45822..98b9166f8 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip index 3e68895e3..1d1c0d005 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip index 46d896ba0..bf56ab75e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip index e16147f51..9fb83735c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip index caf1e250b..31185f085 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip index 893be6e15..fefebf953 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip index 19bf8a628..7e933f54a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip index 4c4a6fea8..bdc77a054 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip index 1058278ba..535eee60f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip index 70416a364..0aaf77901 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip index b55301acb..a2e2a572f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip index 585772107..c4e5af90a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip index 4f1b59289..7714ee0b7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip index 9345bdeae..4ef7c1223 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip index 586a547a8..cba9d9bfc 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip index a05e97818..280ea0cb7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip index dd97e98f8..c0cc8e78b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip index 4e2735589..673abac92 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip index bb3ed0916..771129e32 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip index dc1d153f2..51c0f9681 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip index ffa8bf7e3..f5b5c42df 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip index 1afd69691..88aff80a4 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip index 8cc43f937..cb924170d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip index 373ef26f5..9d14d911d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip index a15d306ee..ccc279cd0 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip index 2bcc69b5b..6b17dc536 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip index b6947abb7..b3f89b2ae 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip index 53855299f..cba7da5d9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip index cf13bf1df..e4ac8a19d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip index 1efd90253..891d5f913 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip index 5dd659273..7149679b2 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip index 93ab79e62..206861787 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip index 0d8244537..4ef93bb23 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip index 2fc91c02e..27260a030 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip index 84389607b..c498a8bdb 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip index 5ca18e47c..d65e210f9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip index 647a000a5..b26c03eb9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip index 3789051d3..c5a704fb6 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip index dc15b8aa5..49077e685 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip index bb225993e..3ff71cdcd 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip index 9a3eed511..5e776960b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip index 0efe02307..c1b397d44 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip index c26b5136f..d5492e8fa 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip index cd86e983a..a87fa765d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip index 1464d4e80..1e8fb2322 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip index efcd0ace8..d08d17ad9 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip index 17dd61c7c..c2523d0ef 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip index b22cdd252..f200540cc 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip index 25ef23969..a8b4fa3d4 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip index 17f51760a..0362ca98e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip index 8ea839faa..b545e28dc 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip index 73436f1cf..5c3c4efcc 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip index b72984162..2ec0625dc 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip index 0170741d0..ab25dea09 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip index 33c1a3af1..2fa359b8f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip index e93b2f30b..541aff8ff 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip index 2d8b4972f..c4a3d1605 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip index 92d708ff4..7c528e303 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip index 8e302be60..f444facfe 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip index f6cb59b38..9bcf0792d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip index 688f47c1f..61f612c0f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip index f0ec7ff95..38c2151f6 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip index edb32dfb5..e6128824a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip index 99b3caddb..9970a0c0c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip index 663c9fca7..830603444 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip index b48aa6ce8..5837dbfa0 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip index 0d5652cc9..95af39dc5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip index 09a9c2498..79bded00a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip index 148e328f1..dc6252445 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip index d63a357bc..435879d6f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip index 6b7e40773..a18bf4806 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip index f6a35103a..9e1426299 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip index 0c57a77cd..313f42d9b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip index 65bd0821e..23f1086a7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip index 20416fcd5..11cce6bee 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip index 02af66182..d4914cd63 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip index 3df0e6026..4a326ed3e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip index 7c0ea0738..d5ebfb65c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip index 75eb6e365..0d43274b5 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip index 7994b26aa..13f084017 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip index 3a68c78e0..75b36614e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip index b2ea3e787..594e9e9c7 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip index 25d29cd4d..98f9966c4 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip index a823ddeed..9d8cccf4e 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip index c65af058a..31552b7ba 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip index 6a76e2343..bb7f19c09 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip index 484818692..63f5fe216 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip index da0f908b8..4aadf9c7a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip index 0e0da7559..ae0e01054 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip index 53b706ef0..b3a3e5f5b 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip index eb45da206..4d9826cd3 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip index 9e6e0ba18..ef7f69d5f 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip index fe35e98be..33f6407ee 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip index dc8ff53a5..4c4f23bce 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip index 76d39cfe7..d2f2f503c 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip index 85e6c7dc3..a3df5f240 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip index 2ecda6bf7..8de85d76d 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip index 1856695dc..ebbfcacbf 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip index 79f2a5953..b23d71134 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip index 9d8e4dfdf..e21a9e5c0 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip index 403b3aca9..61d5760ce 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip index 3c491c603..ad4b32aa4 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip index d0f3c1b4c..015644b04 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip index 8b16ed85a..2972f676a 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip index 3950995d1..680461aed 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip index 97a2ded43..c6ebabb42 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip index 76a266d45..877ab7c58 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip index 655aa4304..fbee23563 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip index a35d6db58..01a12fb78 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip index 69687eddd..82b60acff 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip index aedae4c08..b9398a8fb 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip index b6283d1b5..7b68beab6 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip index 7c9b839a4..3b0355258 100644 Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_operators-0.8.19.sol-0.8.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_operators-0.8.19.sol-0.8.19-compact.zip new file mode 100644 index 000000000..7159a1486 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_operators-0.8.19.sol-0.8.19-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.zip new file mode 100644 index 000000000..b65e511ef Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.zip new file mode 100644 index 000000000..c9a78fcea Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.zip new file mode 100644 index 000000000..1b69e8e3d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.zip new file mode 100644 index 000000000..5661f465d Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.zip new file mode 100644 index 000000000..cf4950769 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.zip new file mode 100644 index 000000000..16236fd22 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.zip new file mode 100644 index 000000000..d574a7cb8 Binary files /dev/null and b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.zip differ diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-compact.json deleted file mode 100644 index abe08fbbc..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json index abe08fbbc..bafe8a53d 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->3;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: INLINE ASM 2\n\"];\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: _ 2\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json index d0a1cb33e..5bfb159c1 100644 --- a/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json @@ -1,5 +1,6 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->7;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: INLINE ASM 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->1;\n}\n", + "a()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: _ 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.6.9-compact.json new file mode 100644 index 000000000..a48faa23d --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.6.9-compact.json @@ -0,0 +1,12 @@ +{ + "A": { + "foo()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f.z()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f.z.x()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.w()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.w.a()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n}\n", + "foo.asm_0.w.b()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.g()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.6.9-legacy.json new file mode 100644 index 000000000..09c0a51f7 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.6.9-legacy.json @@ -0,0 +1,5 @@ +{ + "A": { + "foo()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.7.6-compact.json new file mode 100644 index 000000000..a48faa23d --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.7.6-compact.json @@ -0,0 +1,12 @@ +{ + "A": { + "foo()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f.z()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f.z.x()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.w()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.w.a()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n}\n", + "foo.asm_0.w.b()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.g()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.7.6-legacy.json new file mode 100644 index 000000000..09c0a51f7 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.7.6-legacy.json @@ -0,0 +1,5 @@ +{ + "A": { + "foo()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.8.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.8.16-compact.json new file mode 100644 index 000000000..a48faa23d --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/assembly-functions.sol-0.8.16-compact.json @@ -0,0 +1,12 @@ +{ + "A": { + "foo()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f.z()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.f.z.x()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.w()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.w.a()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n}\n", + "foo.asm_0.w.b()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n", + "foo.asm_0.g()": "digraph{\n0[label=\"Node Type: INLINE ASM 0\n\"];\n0->1;\n1[label=\"Node Type: ENTRY_POINT 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-compact.json deleted file mode 100644 index 6ef3d40e7..000000000 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-compact.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json index 6ef3d40e7..01b7d5fb7 100644 --- a/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json @@ -1,5 +1,5 @@ { "C": { - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->16[label=\"True\"];\n14->26[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->6;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->8[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->9;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->10;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->13;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: END_IF 13\n\"];\n13->14;\n14[label=\"Node Type: IF 14\n\"];\n14->26[label=\"True\"];\n14->16[label=\"False\"];\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: END_IF 17\n\"];\n17->18;\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->22;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->17;\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/global_variables-0.8.18.sol-0.8.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/global_variables-0.8.18.sol-0.8.18-compact.json new file mode 100644 index 000000000..b74cf7115 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/global_variables-0.8.18.sol-0.8.18-compact.json @@ -0,0 +1,6 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "g()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/negate-unary-element.sol-0.8.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/negate-unary-element.sol-0.8.16-compact.json new file mode 100644 index 000000000..8381c16f7 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/negate-unary-element.sol-0.8.16-compact.json @@ -0,0 +1,5 @@ +{ + "T": { + "a(int256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json index 6099f6be4..ec0954baa 100644 --- a/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json @@ -3,7 +3,7 @@ "balanceOf(address)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" }, "C": { - "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n20[label=\"Node Type: CATCH 20\n\"];\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n}\n", + "tryCatchFunctionCall()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: TRY 2\n\"];\n2->3;\n2->5;\n2->7;\n3[label=\"Node Type: CATCH 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->7;\n5[label=\"Node Type: CATCH 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: TRY 7\n\"];\n7->8;\n7->10;\n7->12;\n8[label=\"Node Type: CATCH 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->12;\n10[label=\"Node Type: CATCH 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: TRY 12\n\"];\n12->13;\n12->15;\n12->17;\n12->19;\n13[label=\"Node Type: CATCH 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->19;\n15[label=\"Node Type: CATCH 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->19;\n17[label=\"Node Type: CATCH 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: TRY 19\n\"];\n19->20;\n19->21;\n19->23;\n20[label=\"Node Type: CATCH 20\n\"];\n20->23;\n21[label=\"Node Type: CATCH 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: TRY 23\n\"];\n23->24;\n23->32;\n24[label=\"Node Type: CATCH 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->28;\n26[label=\"Node Type: BEGIN_LOOP 26\n\"];\n26->29;\n27[label=\"Node Type: END_LOOP 27\n\"];\n28[label=\"Node Type: NEW VARIABLE 28\n\"];\n28->26;\n29[label=\"Node Type: IF_LOOP 29\n\"];\n29->30[label=\"True\"];\n29->27[label=\"False\"];\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->29;\n32[label=\"Node Type: CATCH 32\n\"];\n}\n", "tryCatchContractDeployment()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: TRY 1\n\"];\n1->2;\n1->6;\n2[label=\"Node Type: CATCH 2\n\"];\n2->3;\n3[label=\"Node Type: TRY 3\n\"];\n3->4;\n3->5;\n4[label=\"Node Type: CATCH 4\n\"];\n5[label=\"Node Type: CATCH 5\n\"];\n6[label=\"Node Type: CATCH 6\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_operators-0.8.19.sol-0.8.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_operators-0.8.19.sol-0.8.19-compact.json new file mode 100644 index 000000000..bee7819a6 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_operators-0.8.19.sol-0.8.19-compact.json @@ -0,0 +1,13 @@ +{ + "Lib": { + "f(Int)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n}\n" + }, + "T": { + "add_function_call(Int,Int)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n", + "add_op(Int,Int)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "lib_call(Int)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "neg_usertype(Int)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: RETURN 2\n\"];\n}\n", + "neg_int(int256)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n", + "eq_op(Int,Int)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: RETURN 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.10-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.11-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.12-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.13-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.14-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.15-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.json new file mode 100644 index 000000000..070b687bd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/abi-decode-fixed-array.sol-0.8.8-compact.json @@ -0,0 +1,7 @@ +{ + "I": {}, + "C": { + "test_decode_interface_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n", + "test_decode_enum_array(bytes)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-top-level-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-top-level-0.8.0.sol-0.8.0-compact.json new file mode 100644 index 000000000..f9655dff5 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/yul-top-level-0.8.0.sol-0.8.0-compact.json @@ -0,0 +1,5 @@ +{ + "Test": { + "test()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/global_variables-0.8.18.sol b/tests/e2e/solc_parsing/test_data/global_variables-0.8.18.sol new file mode 100644 index 000000000..f21ae5d8f --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/global_variables-0.8.18.sol @@ -0,0 +1,11 @@ +contract C { + function f() public view returns (uint256) { + return block.prevrandao; + } + + function g() public view returns (uint256 ret) { + assembly { + ret := prevrandao() + } + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/negate-unary-element.sol b/tests/e2e/solc_parsing/test_data/negate-unary-element.sol new file mode 100644 index 000000000..b3f03c48d --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/negate-unary-element.sol @@ -0,0 +1,5 @@ +contract T { + function a(int256[] memory data) public returns(int256) { + return -data[0]; + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol b/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol index 68899e4a9..2c1e1e939 100644 --- a/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol +++ b/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol @@ -32,6 +32,14 @@ contract C { } catch { actualBalance = 0; } + + try ERC20(msg.sender).balanceOf(address(this)) returns (uint balance) { + uint c; + for (uint i; i < balance; i++) { + c++; + } + } catch { + } } function tryCatchContractDeployment() public { diff --git a/tests/e2e/solc_parsing/test_data/user_defined_operators-0.8.19.sol b/tests/e2e/solc_parsing/test_data/user_defined_operators-0.8.19.sol new file mode 100644 index 000000000..e4df845fb --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/user_defined_operators-0.8.19.sol @@ -0,0 +1,48 @@ +pragma solidity ^0.8.19; + +type Int is int; +using {add as +, eq as ==, add, neg as -, Lib.f} for Int global; + +function add(Int a, Int b) pure returns (Int) { + return Int.wrap(Int.unwrap(a) + Int.unwrap(b)); +} + +function eq(Int a, Int b) pure returns (bool) { + return true; +} + +function neg(Int a) pure returns (Int) { + return a; +} + +library Lib { + function f(Int r) internal {} +} + +contract T { + function add_function_call(Int b, Int c) public returns(Int) { + Int res = add(b,c); + return res; + } + + function add_op(Int b, Int c) public returns(Int) { + return b + c; + } + + function lib_call(Int b) public { + return b.f(); + } + + function neg_usertype(Int b) public returns(Int) { + Int res = -b; + return res; + } + + function neg_int(int b) public returns(int) { + return -b; + } + + function eq_op(Int b, Int c) public returns(bool) { + return b == c; + } +} diff --git a/tests/e2e/solc_parsing/test_data/user_defined_value_type/abi-decode-fixed-array.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/abi-decode-fixed-array.sol new file mode 100644 index 000000000..14a59b5a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/user_defined_value_type/abi-decode-fixed-array.sol @@ -0,0 +1,16 @@ +interface I {} +enum A {a,b} + +contract C { + I[6] interfaceArray; + A[6] enumArray; + + function test_decode_interface_array(bytes memory data) public { + interfaceArray = abi.decode(data, (I[6])); + } + + function test_decode_enum_array(bytes memory data) public { + enumArray = abi.decode(data, (A[6])); + } + +} diff --git a/tests/tools/check-erc/erc20.sol b/tests/tools/check_erc/erc20.sol similarity index 100% rename from tests/tools/check-erc/erc20.sol rename to tests/tools/check_erc/erc20.sol diff --git a/tests/tools/check-erc/test_1.txt b/tests/tools/check_erc/test_1.txt similarity index 100% rename from tests/tools/check-erc/test_1.txt rename to tests/tools/check_erc/test_1.txt diff --git a/tests/tools/check-kspec/safeAdd/safeAdd.sol b/tests/tools/check_kspec/safeAdd/safeAdd.sol similarity index 100% rename from tests/tools/check-kspec/safeAdd/safeAdd.sol rename to tests/tools/check_kspec/safeAdd/safeAdd.sol diff --git a/tests/tools/check-kspec/safeAdd/spec.md b/tests/tools/check_kspec/safeAdd/spec.md similarity index 100% rename from tests/tools/check-kspec/safeAdd/spec.md rename to tests/tools/check_kspec/safeAdd/spec.md diff --git a/tests/tools/check-kspec/test_1.txt b/tests/tools/check_kspec/test_1.txt similarity index 100% rename from tests/tools/check-kspec/test_1.txt rename to tests/tools/check_kspec/test_1.txt diff --git a/tests/tools/check-upgradeability/contractV1.sol b/tests/tools/check_upgradeability/contractV1.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV1.sol rename to tests/tools/check_upgradeability/contractV1.sol diff --git a/tests/tools/check-upgradeability/contractV1_struct.sol b/tests/tools/check_upgradeability/contractV1_struct.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV1_struct.sol rename to tests/tools/check_upgradeability/contractV1_struct.sol diff --git a/tests/tools/check-upgradeability/contractV2.sol b/tests/tools/check_upgradeability/contractV2.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV2.sol rename to tests/tools/check_upgradeability/contractV2.sol diff --git a/tests/tools/check-upgradeability/contractV2_bug.sol b/tests/tools/check_upgradeability/contractV2_bug.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV2_bug.sol rename to tests/tools/check_upgradeability/contractV2_bug.sol diff --git a/tests/tools/check-upgradeability/contractV2_bug2.sol b/tests/tools/check_upgradeability/contractV2_bug2.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV2_bug2.sol rename to tests/tools/check_upgradeability/contractV2_bug2.sol diff --git a/tests/tools/check-upgradeability/contractV2_struct.sol b/tests/tools/check_upgradeability/contractV2_struct.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV2_struct.sol rename to tests/tools/check_upgradeability/contractV2_struct.sol diff --git a/tests/tools/check-upgradeability/contractV2_struct_bug.sol b/tests/tools/check_upgradeability/contractV2_struct_bug.sol similarity index 100% rename from tests/tools/check-upgradeability/contractV2_struct_bug.sol rename to tests/tools/check_upgradeability/contractV2_struct_bug.sol diff --git a/tests/tools/check-upgradeability/contract_initialization.sol b/tests/tools/check_upgradeability/contract_initialization.sol similarity index 100% rename from tests/tools/check-upgradeability/contract_initialization.sol rename to tests/tools/check_upgradeability/contract_initialization.sol diff --git a/tests/tools/check-upgradeability/contract_v1_var_init.sol b/tests/tools/check_upgradeability/contract_v1_var_init.sol similarity index 100% rename from tests/tools/check-upgradeability/contract_v1_var_init.sol rename to tests/tools/check_upgradeability/contract_v1_var_init.sol diff --git a/tests/tools/check-upgradeability/contract_v2_constant.sol b/tests/tools/check_upgradeability/contract_v2_constant.sol similarity index 100% rename from tests/tools/check-upgradeability/contract_v2_constant.sol rename to tests/tools/check_upgradeability/contract_v2_constant.sol diff --git a/tests/tools/check-upgradeability/proxy.sol b/tests/tools/check_upgradeability/proxy.sol similarity index 100% rename from tests/tools/check-upgradeability/proxy.sol rename to tests/tools/check_upgradeability/proxy.sol diff --git a/tests/tools/check-upgradeability/test_1.txt b/tests/tools/check_upgradeability/test_1.txt similarity index 100% rename from tests/tools/check-upgradeability/test_1.txt rename to tests/tools/check_upgradeability/test_1.txt diff --git a/tests/tools/check-upgradeability/test_10.txt b/tests/tools/check_upgradeability/test_10.txt similarity index 100% rename from tests/tools/check-upgradeability/test_10.txt rename to tests/tools/check_upgradeability/test_10.txt diff --git a/tests/tools/check-upgradeability/test_11.txt b/tests/tools/check_upgradeability/test_11.txt similarity index 100% rename from tests/tools/check-upgradeability/test_11.txt rename to tests/tools/check_upgradeability/test_11.txt diff --git a/tests/tools/check-upgradeability/test_12.txt b/tests/tools/check_upgradeability/test_12.txt similarity index 100% rename from tests/tools/check-upgradeability/test_12.txt rename to tests/tools/check_upgradeability/test_12.txt diff --git a/tests/tools/check-upgradeability/test_13.txt b/tests/tools/check_upgradeability/test_13.txt similarity index 100% rename from tests/tools/check-upgradeability/test_13.txt rename to tests/tools/check_upgradeability/test_13.txt diff --git a/tests/tools/check-upgradeability/test_2.txt b/tests/tools/check_upgradeability/test_2.txt similarity index 100% rename from tests/tools/check-upgradeability/test_2.txt rename to tests/tools/check_upgradeability/test_2.txt diff --git a/tests/tools/check-upgradeability/test_3.txt b/tests/tools/check_upgradeability/test_3.txt similarity index 100% rename from tests/tools/check-upgradeability/test_3.txt rename to tests/tools/check_upgradeability/test_3.txt diff --git a/tests/tools/check-upgradeability/test_4.txt b/tests/tools/check_upgradeability/test_4.txt similarity index 100% rename from tests/tools/check-upgradeability/test_4.txt rename to tests/tools/check_upgradeability/test_4.txt diff --git a/tests/tools/check-upgradeability/test_5.txt b/tests/tools/check_upgradeability/test_5.txt similarity index 100% rename from tests/tools/check-upgradeability/test_5.txt rename to tests/tools/check_upgradeability/test_5.txt diff --git a/tests/tools/check-upgradeability/test_6.txt b/tests/tools/check_upgradeability/test_6.txt similarity index 100% rename from tests/tools/check-upgradeability/test_6.txt rename to tests/tools/check_upgradeability/test_6.txt diff --git a/tests/tools/check-upgradeability/test_7.txt b/tests/tools/check_upgradeability/test_7.txt similarity index 100% rename from tests/tools/check-upgradeability/test_7.txt rename to tests/tools/check_upgradeability/test_7.txt diff --git a/tests/tools/check-upgradeability/test_8.txt b/tests/tools/check_upgradeability/test_8.txt similarity index 100% rename from tests/tools/check-upgradeability/test_8.txt rename to tests/tools/check_upgradeability/test_8.txt diff --git a/tests/tools/check-upgradeability/test_9.txt b/tests/tools/check_upgradeability/test_9.txt similarity index 100% rename from tests/tools/check-upgradeability/test_9.txt rename to tests/tools/check_upgradeability/test_9.txt diff --git a/tests/tools/interface/ContractMock.sol b/tests/tools/interface/ContractMock.sol new file mode 100644 index 000000000..208e6f21a --- /dev/null +++ b/tests/tools/interface/ContractMock.sol @@ -0,0 +1,33 @@ +pragma solidity ^0.8.19; + +contract Mock { + + error Error1(); + error Error2(); + error Error3(); + + event Event1(); + event Event2(address param); + event Event3(uint256 num1, uint72 num2); + + struct Foo { + uint256 bar; + address baz; + } + + enum Status { + Active, + Pending, + Canceled + } + + Foo public foo; + + Status public status; + + function function1() public pure returns (address){ + return address(0); + } + + +} \ No newline at end of file diff --git a/tests/tools/interface/test_1.sol b/tests/tools/interface/test_1.sol new file mode 100644 index 000000000..d306edeca --- /dev/null +++ b/tests/tools/interface/test_1.sol @@ -0,0 +1,20 @@ +pragma solidity ^0.4.18; + +interface IWETH9 { + event Approval(address, address, uint256); + event Transfer(address, address, uint256); + event Deposit(address, uint256); + event Withdrawal(address, uint256); + function name() external returns (string memory); + function symbol() external returns (string memory); + function decimals() external returns (uint8); + function balanceOf(address) external returns (uint256); + function allowance(address,address) external returns (uint256); + function deposit() external payable; + function withdraw(uint256) external; + function totalSupply() external view returns (uint256); + function approve(address,uint256) external returns (bool); + function transfer(address,uint256) external returns (bool); + function transferFrom(address,address,uint256) external returns (bool); +} + diff --git a/tests/tools/interface/test_2.sol b/tests/tools/interface/test_2.sol new file mode 100644 index 000000000..ac383459d --- /dev/null +++ b/tests/tools/interface/test_2.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.8.19; + +interface IMock { + event Event1(); + event Event2(address); + event Event3(uint256, uint72); + error Error1(); + error Error2(); + error Error3(); + enum Status { Active, Pending, Canceled } + struct Foo { + uint256 bar; + address baz; + } + function foo() external returns (Foo memory); + function status() external returns (Status); + function function1() external pure returns (address); +} + diff --git a/tests/tools/interface/test_3.sol b/tests/tools/interface/test_3.sol new file mode 100644 index 000000000..87b26e6af --- /dev/null +++ b/tests/tools/interface/test_3.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.8.19; + +interface IMock { + event Event1(); + event Event2(address); + event Event3(uint256, uint72); + error Error1(); + error Error2(); + error Error3(); + enum Status { Active, Pending, Canceled } + struct Foo { + uint256 bar; + address baz; + } + function foo() external returns (uint256, address); + function status() external returns (uint8); + function function1() external pure returns (address); +} + diff --git a/tests/tools/interface/test_4.sol b/tests/tools/interface/test_4.sol new file mode 100644 index 000000000..06525c5c0 --- /dev/null +++ b/tests/tools/interface/test_4.sol @@ -0,0 +1,15 @@ +pragma solidity ^0.8.19; + +interface IMock { + event Event1(); + event Event2(address); + event Event3(uint256, uint72); + error Error1(); + error Error2(); + error Error3(); + enum Status { Active, Pending, Canceled } + function foo() external returns (Foo memory); + function status() external returns (Status); + function function1() external pure returns (address); +} + diff --git a/tests/tools/interface/test_5.sol b/tests/tools/interface/test_5.sol new file mode 100644 index 000000000..26704c862 --- /dev/null +++ b/tests/tools/interface/test_5.sol @@ -0,0 +1,16 @@ +pragma solidity ^0.8.19; + +interface IMock { + event Event1(); + event Event2(address); + event Event3(uint256, uint72); + enum Status { Active, Pending, Canceled } + struct Foo { + uint256 bar; + address baz; + } + function foo() external returns (Foo memory); + function status() external returns (Status); + function function1() external pure returns (address); +} + diff --git a/tests/tools/interface/test_6.sol b/tests/tools/interface/test_6.sol new file mode 100644 index 000000000..d05d1fc2e --- /dev/null +++ b/tests/tools/interface/test_6.sol @@ -0,0 +1,18 @@ +pragma solidity ^0.8.19; + +interface IMock { + event Event1(); + event Event2(address); + event Event3(uint256, uint72); + error Error1(); + error Error2(); + error Error3(); + struct Foo { + uint256 bar; + address baz; + } + function foo() external returns (Foo memory); + function status() external returns (Status); + function function1() external pure returns (address); +} + diff --git a/tests/tools/interface/test_7.sol b/tests/tools/interface/test_7.sol new file mode 100644 index 000000000..4e362f804 --- /dev/null +++ b/tests/tools/interface/test_7.sol @@ -0,0 +1,16 @@ +pragma solidity ^0.8.19; + +interface IMock { + error Error1(); + error Error2(); + error Error3(); + enum Status { Active, Pending, Canceled } + struct Foo { + uint256 bar; + address baz; + } + function foo() external returns (Foo memory); + function status() external returns (Status); + function function1() external pure returns (address); +} + diff --git a/tests/tools/read-storage/conftest.py b/tests/tools/read-storage/conftest.py new file mode 100644 index 000000000..3e2cfb400 --- /dev/null +++ b/tests/tools/read-storage/conftest.py @@ -0,0 +1,56 @@ +""" +Testing utilities for the read-storage tool +""" + +import shutil +import subprocess +from time import sleep +from typing import Generator +from dataclasses import dataclass +from web3 import Web3 +import pytest + + +@dataclass +class GanacheInstance: + def __init__(self, provider: str, eth_address: str, eth_privkey: str): + self.provider = provider + self.eth_address = eth_address + self.eth_privkey = eth_privkey + + +@pytest.fixture(scope="module", name="ganache") +def fixture_ganache() -> Generator[GanacheInstance, None, None]: + """Fixture that runs ganache""" + if not shutil.which("ganache"): + raise Exception( + "ganache was not found in PATH, you can install it with `npm install -g ganache`" + ) + + # Address #1 when ganache is run with `--wallet.seed test`, it starts with 1000 ETH + eth_address = "0xae17D2dD99e07CA3bF2571CCAcEAA9e2Aefc2Dc6" + eth_privkey = "0xe48ba530a63326818e116be262fd39ae6dcddd89da4b1f578be8afd4e8894b8d" + eth = int(1e18 * 1e6) + port = 8545 + with subprocess.Popen( + f"""ganache + --port {port} + --chain.networkId 1 + --chain.chainId 1 + --account {eth_privkey},{eth} + """.replace( + "\n", " " + ), + shell=True, + ) as p: + + sleep(3) + yield GanacheInstance(f"http://127.0.0.1:{port}", eth_address, eth_privkey) + p.kill() + p.wait() + + +@pytest.fixture(scope="module", name="web3") +def fixture_web3(ganache: GanacheInstance): + w3 = Web3(Web3.HTTPProvider(ganache.provider, request_kwargs={"timeout": 30})) + return w3 diff --git a/tests/tools/read-storage/test_data/storage_layout-0.8.10.sol b/tests/tools/read-storage/test_data/StorageLayout.sol similarity index 95% rename from tests/tools/read-storage/test_data/storage_layout-0.8.10.sol rename to tests/tools/read-storage/test_data/StorageLayout.sol index 28d1428eb..0940b6769 100644 --- a/tests/tools/read-storage/test_data/storage_layout-0.8.10.sol +++ b/tests/tools/read-storage/test_data/StorageLayout.sol @@ -1,5 +1,6 @@ +pragma solidity 0.8.10; // overwrite abi and bin: -// solc tests/storage-layout/storage_layout-0.8.10.sol --abi --bin -o tests/storage-layout --overwrite +// solc StorageLayout.sol --abi --bin --overwrite contract StorageLayout { uint248 packedUint = 1; bool packedBool = true; diff --git a/tests/tools/read-storage/test_data/TEST_unstructured_storage.json b/tests/tools/read-storage/test_data/TEST_unstructured_storage.json new file mode 100644 index 000000000..6dbdbddca --- /dev/null +++ b/tests/tools/read-storage/test_data/TEST_unstructured_storage.json @@ -0,0 +1,56 @@ +{ + "masterCopy": { + "name": "masterCopy", + "type_string": "address", + "slot": 0, + "size": 160, + "offset": 0, + "value": "0x0000000000000000000000000000000000000000", + "elems": {} + }, + "ADMIN_SLOT": { + "name": "ADMIN_SLOT", + "type_string": "address", + "slot": 7616251639890160809447714111544359812065171195189364993079081710756264753419, + "size": 160, + "offset": 0, + "value": "0xae17D2dD99e07CA3bF2571CCAcEAA9e2Aefc2Dc6", + "elems": {} + }, + "IMPLEMENTATION_SLOT": { + "name": "IMPLEMENTATION_SLOT", + "type_string": "address", + "slot": 24440054405305269366569402256811496959409073762505157381672968839269610695612, + "size": 160, + "offset": 0, + "value": "0x54006763154c764da4AF42a8c3cfc25Ea29765D5", + "elems": {} + }, + "ROLLBACK_SLOT": { + "name": "ROLLBACK_SLOT", + "type_string": "bool", + "slot": 33048860383849004559742813297059419343339852917517107368639918720169455489347, + "size": 1, + "offset": 0, + "value": true, + "elems": {} + }, + "BEACON_SLOT": { + "name": "BEACON_SLOT", + "type_string": "address", + "slot": 74152234768234802001998023604048924213078445070507226371336425913862612794704, + "size": 160, + "offset": 0, + "value": "0x54006763154c764da4AF42a8c3cfc25Ea29765D5", + "elems": {} + }, + "fallback_sload_hardcoded": { + "name": "fallback_sload_hardcoded", + "type_string": "address", + "slot": 89532207833283453166981358064394884954800891875771469636219037672473505217783, + "size": 160, + "offset": 0, + "value": "0x54006763154c764da4AF42a8c3cfc25Ea29765D5", + "elems": {} + } +} \ No newline at end of file diff --git a/tests/tools/read-storage/test_data/UnstructuredStorageLayout.abi b/tests/tools/read-storage/test_data/UnstructuredStorageLayout.abi new file mode 100644 index 000000000..9b579f254 --- /dev/null +++ b/tests/tools/read-storage/test_data/UnstructuredStorageLayout.abi @@ -0,0 +1 @@ +[{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"store","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/tests/tools/read-storage/test_data/UnstructuredStorageLayout.bin b/tests/tools/read-storage/test_data/UnstructuredStorageLayout.bin new file mode 100644 index 000000000..9f20de74c --- /dev/null +++ b/tests/tools/read-storage/test_data/UnstructuredStorageLayout.bin @@ -0,0 +1 @@ +608060405234801561001057600080fd5b5061030b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002f5760003560e01c8063975057e71461009757610030565b5b600180035473ffffffffffffffffffffffffffffffffffffffff600054167fc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7543660008037600080366000845af43d806000803e816000811461009257816000f35b816000fd5b61009f6100a1565b005b60006100ab6101a8565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146100e657600080fd5b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b9050600033905080825560007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905060007354006763154c764da4af42a8c3cfc25ea29765d59050808255807fc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf75561018460016101d6565b6101a17354006763154c764da4af42a8c3cfc25ea29765d5610220565b5050505050565b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b9050805491505090565b806102037f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b61025e565b60000160006101000a81548160ff02191690831515021790555050565b600060017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5160001c61025291906102a1565b60001b90508181555050565b6000819050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102ac82610268565b91506102b783610268565b9250828210156102ca576102c9610272565b5b82820390509291505056fea2646970667358221220f079473c1b94744ac2818f521ccef06187a433d996633e61e51a86dfb60cc6ff64736f6c634300080a0033 \ No newline at end of file diff --git a/tests/tools/read-storage/test_data/UnstructuredStorageLayout.sol b/tests/tools/read-storage/test_data/UnstructuredStorageLayout.sol new file mode 100644 index 000000000..81b14a119 --- /dev/null +++ b/tests/tools/read-storage/test_data/UnstructuredStorageLayout.sol @@ -0,0 +1,141 @@ +pragma solidity 0.8.10; +// overwrite abi and bin: +// solc UnstructuredStorageLayout.sol --abi --bin --overwrite + +library StorageSlot { + struct AddressSlot { + address value; + } + + struct BooleanSlot { + bool value; + } + + struct Bytes32Slot { + bytes32 value; + } + + struct Uint256Slot { + uint256 value; + } + + /** + * @dev Returns an `AddressSlot` with member `value` located at `slot`. + */ + function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `BooleanSlot` with member `value` located at `slot`. + */ + function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `Bytes32Slot` with member `value` located at `slot`. + */ + function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `Uint256Slot` with member `value` located at `slot`. + */ + function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { + /// @solidity memory-safe-assembly + assembly { + r.slot := slot + } + } +} + +contract UnstructuredStorageLayout { + + bytes32 constant ADMIN_SLOT = keccak256("org.zeppelinos.proxy.admin"); + // This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1. + bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + // This is the keccak-256 hash of "eip1967.proxy.rollback" subtracted by 1 + bytes32 private constant ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143; + bytes32 constant BEACON_SLOT = bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1); + + address internal masterCopy; + + function _admin() internal view returns (address admin) { + bytes32 slot = ADMIN_SLOT; + assembly { + admin := sload(slot) + } + } + + function _implementation() internal view returns (address) { + address _impl; + bytes32 slot = IMPLEMENTATION_SLOT; + assembly { + _impl := sload(slot) + } + return _impl; + } + + function _set_rollback(bool _rollback) internal { + StorageSlot.getBooleanSlot(ROLLBACK_SLOT).value = _rollback; + } + + function _set_beacon(address _beacon) internal { + bytes32 slot = bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1); + assembly { + sstore(slot, _beacon) + } + } + + function store() external { + address admin = _admin(); + require(admin == address(0)); + + bytes32 admin_slot = ADMIN_SLOT; + address sender = msg.sender; + assembly { + sstore(admin_slot, sender) + } + + bytes32 impl_slot = IMPLEMENTATION_SLOT; + address _impl = address(0x0054006763154c764da4af42a8c3cfc25ea29765d5); + assembly { + sstore(impl_slot, _impl) + sstore(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7, _impl) + } + + _set_rollback(true); + _set_beacon(address(0x0054006763154c764da4af42a8c3cfc25ea29765d5)); + } + + // Code position in storage is keccak256("PROXIABLE") = "0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7" + fallback() external { + assembly { // solium-disable-line + let nonsense := sload(sub(1,1)) + let _masterCopy := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff) + let contractLogic := sload(0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7) + calldatacopy(0x0, 0x0, calldatasize()) + let success := delegatecall(gas(), contractLogic, 0x0, calldatasize(), 0, 0) + let retSz := returndatasize() + returndatacopy(0, 0, retSz) + switch success + case 0 { + revert(0, retSz) + } + default { + return(0, retSz) + } + } + } +} diff --git a/tests/tools/read-storage/test_read_storage.py b/tests/tools/read-storage/test_read_storage.py index 38d909bf8..b056ad056 100644 --- a/tests/tools/read-storage/test_read_storage.py +++ b/tests/tools/read-storage/test_read_storage.py @@ -1,65 +1,16 @@ -import json import re -import shutil -import subprocess -from time import sleep +import json from pathlib import Path -from typing import Generator import pytest from deepdiff import DeepDiff -from web3 import Web3 from web3.contract import Contract from slither import Slither -from slither.tools.read_storage import SlitherReadStorage +from slither.tools.read_storage import SlitherReadStorage, RpcInfo TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -# pylint: disable=too-few-public-methods -class GanacheInstance: - def __init__(self, provider: str, eth_address: str, eth_privkey: str): - self.provider = provider - self.eth_address = eth_address - self.eth_privkey = eth_privkey - - -@pytest.fixture(scope="module", name="web3") -def fixture_web3(ganache: GanacheInstance): - w3 = Web3(Web3.HTTPProvider(ganache.provider, request_kwargs={"timeout": 30})) - return w3 - - -@pytest.fixture(scope="module", name="ganache") -def fixture_ganache() -> Generator[GanacheInstance, None, None]: - """Fixture that runs ganache""" - if not shutil.which("ganache"): - raise Exception( - "ganache was not found in PATH, you can install it with `npm install -g ganache`" - ) - - # Address #1 when ganache is run with `--wallet.seed test`, it starts with 1000 ETH - eth_address = "0xae17D2dD99e07CA3bF2571CCAcEAA9e2Aefc2Dc6" - eth_privkey = "0xe48ba530a63326818e116be262fd39ae6dcddd89da4b1f578be8afd4e8894b8d" - eth = int(1e18 * 1e6) - port = 8545 - with subprocess.Popen( - f"""ganache - --port {port} - --chain.networkId 1 - --chain.chainId 1 - --account {eth_privkey},{eth} - """.replace( - "\n", " " - ), - shell=True, - ) as p: - - sleep(3) - yield GanacheInstance(f"http://127.0.0.1:{port}", eth_address, eth_privkey) - p.kill() - p.wait() - def get_source_file(file_path) -> str: with open(file_path, "r", encoding="utf8") as f: @@ -89,22 +40,29 @@ def deploy_contract(w3, ganache, contract_bin, contract_abi) -> Contract: # pylint: disable=too-many-locals +@pytest.mark.parametrize( + "test_contract, storage_file", + [("StorageLayout", "storage_layout"), ("UnstructuredStorageLayout", "unstructured_storage")], +) @pytest.mark.usefixtures("web3", "ganache") -def test_read_storage(web3, ganache) -> None: +def test_read_storage(test_contract, storage_file, web3, ganache, solc_binary_path) -> None: + solc_path = solc_binary_path(version="0.8.10") + assert web3.is_connected() - bin_path = Path(TEST_DATA_DIR, "StorageLayout.bin").as_posix() - abi_path = Path(TEST_DATA_DIR, "StorageLayout.abi").as_posix() + bin_path = Path(TEST_DATA_DIR, f"{test_contract}.bin").as_posix() + abi_path = Path(TEST_DATA_DIR, f"{test_contract}.abi").as_posix() bytecode = get_source_file(bin_path) abi = get_source_file(abi_path) contract = deploy_contract(web3, ganache, bytecode, abi) contract.functions.store().transact({"from": ganache.eth_address}) address = contract.address - sl = Slither(Path(TEST_DATA_DIR, "storage_layout-0.8.10.sol").as_posix()) + sl = Slither(Path(TEST_DATA_DIR, f"{test_contract}.sol").as_posix(), solc=solc_path) contracts = sl.contracts - srs = SlitherReadStorage(contracts, 100) - srs.rpc = ganache.provider + rpc_info: RpcInfo = RpcInfo(ganache.provider) + srs = SlitherReadStorage(contracts, 100, rpc_info) + srs.unstructured = True srs.storage_address = address srs.get_all_storage_variables() srs.get_storage_layout() @@ -114,7 +72,7 @@ def test_read_storage(web3, ganache) -> None: slot_infos_json = srs.to_json() json.dump(slot_infos_json, file, indent=4) - expected_file = Path(TEST_DATA_DIR, "TEST_storage_layout.json").as_posix() + expected_file = Path(TEST_DATA_DIR, f"TEST_{storage_file}.json").as_posix() with open(expected_file, "r", encoding="utf8") as f: expected = json.load(f) diff --git a/tests/unit/core/test_arithmetic.py b/tests/unit/core/test_arithmetic.py index 621ff0f94..760b6d397 100644 --- a/tests/unit/core/test_arithmetic.py +++ b/tests/unit/core/test_arithmetic.py @@ -1,17 +1,35 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.utils.arithmetic import unchecked_arithemtic_usage - +from slither.slithir.operations import Binary, Unary, Assignment +from slither.slithir.variables.temporary import TemporaryVariable TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "arithmetic_usage" -def test_arithmetic_usage() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither(Path(TEST_DATA_DIR, "test.sol").as_posix()) +def test_arithmetic_usage(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither(Path(TEST_DATA_DIR, "test.sol").as_posix(), solc=solc_path) assert { f.source_mapping.content_hash for f in unchecked_arithemtic_usage(slither.contracts[0]) } == {"2b4bc73cf59d486dd9043e840b5028b679354dd9", "e4ecd4d0fda7e762d29aceb8425f2c5d4d0bf962"} + + +def test_scope_is_checked(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither(Path(TEST_DATA_DIR, "unchecked_scope.sol").as_posix(), solc=solc_path) + func = slither.get_contract_from_name("TestScope")[0].get_function_from_full_name( + "scope(uint256)" + ) + bin_op_is_checked = {} + for node in func.nodes: + for op in node.irs: + if isinstance(op, (Binary, Unary)): + bin_op_is_checked[op.lvalue] = op.node.scope.is_checked + if isinstance(op, Assignment) and isinstance(op.rvalue, TemporaryVariable): + if op.lvalue.name.startswith("checked"): + assert bin_op_is_checked[op.rvalue] is True + else: + assert bin_op_is_checked[op.rvalue] is False diff --git a/tests/unit/core/test_code_comments.py b/tests/unit/core/test_code_comments.py index 01b9ff336..a943591dc 100644 --- a/tests/unit/core/test_code_comments.py +++ b/tests/unit/core/test_code_comments.py @@ -1,5 +1,4 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither @@ -8,9 +7,9 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" CUSTOM_COMMENTS_TEST_DATA_DIR = Path(TEST_DATA_DIR, "custom_comments") -def test_upgradeable_comments() -> None: - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither(Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "upgrade.sol").as_posix()) +def test_upgradeable_comments(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.10") + slither = Slither(Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "upgrade.sol").as_posix(), solc=solc_path) compilation_unit = slither.compilation_units[0] proxy = compilation_unit.get_contract_from_name("Proxy")[0] @@ -27,11 +26,13 @@ def test_upgradeable_comments() -> None: assert v1.upgradeable_version == "version_1" -def test_contract_comments() -> None: +def test_contract_comments(solc_binary_path) -> None: comments = " @title Test Contract\n @dev Test comment" - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither(Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix()) + solc_path = solc_binary_path("0.8.10") + slither = Slither( + Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix(), solc=solc_path + ) compilation_unit = slither.compilation_units[0] contract = compilation_unit.get_contract_from_name("A")[0] @@ -40,8 +41,10 @@ def test_contract_comments() -> None: # Old solc versions have a different parsing of comments # the initial space (after *) is also not kept on every line comments = "@title Test Contract\n@dev Test comment" - solc_select.switch_global_version("0.5.16", always_install=True) - slither = Slither(Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix()) + solc_path = solc_binary_path("0.5.16") + slither = Slither( + Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix(), solc=solc_path + ) compilation_unit = slither.compilation_units[0] contract = compilation_unit.get_contract_from_name("A")[0] @@ -49,10 +52,10 @@ def test_contract_comments() -> None: # Test with legacy AST comments = "@title Test Contract\n@dev Test comment" - solc_select.switch_global_version("0.5.16", always_install=True) slither = Slither( Path(CUSTOM_COMMENTS_TEST_DATA_DIR, "contract_comment.sol").as_posix(), solc_force_legacy_json=True, + solc=solc_path, ) compilation_unit = slither.compilation_units[0] contract = compilation_unit.get_contract_from_name("A")[0] diff --git a/tests/unit/core/test_constant_folding.py b/tests/unit/core/test_constant_folding.py index eb40a43c0..6c0cc8295 100644 --- a/tests/unit/core/test_constant_folding.py +++ b/tests/unit/core/test_constant_folding.py @@ -6,101 +6,123 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" CONSTANT_FOLDING_TEST_ROOT = Path(TEST_DATA_DIR, "constant_folding") -def test_constant_folding_unary(): +def test_constant_folding_unary(solc_binary_path): + solc_path = solc_binary_path("0.8.0") file = Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_unary.sol").as_posix() - Slither(file) + Slither(file, solc=solc_path) -def test_constant_folding_rational(): - s = Slither(Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_rational.sol").as_posix()) +def test_constant_folding_rational(solc_binary_path): + solc_path = solc_binary_path("0.8.0") + s = Slither( + Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_rational.sol").as_posix(), solc=solc_path + ) contract = s.get_contract_from_name("C")[0] variable_a = contract.get_state_variable_from_name("a") assert str(variable_a.type) == "uint256" - assert str(ConstantFolding(variable_a.expression, "uint256").result()) == "10" + assert ConstantFolding(variable_a.expression, "uint256").result().value == 10 variable_b = contract.get_state_variable_from_name("b") assert str(variable_b.type) == "int128" - assert str(ConstantFolding(variable_b.expression, "int128").result()) == "2" + assert ConstantFolding(variable_b.expression, "int128").result().value == 2 variable_c = contract.get_state_variable_from_name("c") assert str(variable_c.type) == "int64" - assert str(ConstantFolding(variable_c.expression, "int64").result()) == "3" + assert ConstantFolding(variable_c.expression, "int64").result().value == 3 variable_d = contract.get_state_variable_from_name("d") assert str(variable_d.type) == "int256" - assert str(ConstantFolding(variable_d.expression, "int256").result()) == "1500" + assert ConstantFolding(variable_d.expression, "int256").result().value == 1500 variable_e = contract.get_state_variable_from_name("e") assert str(variable_e.type) == "uint256" assert ( - str(ConstantFolding(variable_e.expression, "uint256").result()) - == "57896044618658097711785492504343953926634992332820282019728792003956564819968" + ConstantFolding(variable_e.expression, "uint256").result().value + == 57896044618658097711785492504343953926634992332820282019728792003956564819968 ) variable_f = contract.get_state_variable_from_name("f") assert str(variable_f.type) == "uint256" assert ( - str(ConstantFolding(variable_f.expression, "uint256").result()) - == "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ConstantFolding(variable_f.expression, "uint256").result().value + == 115792089237316195423570985008687907853269984665640564039457584007913129639935 ) variable_g = contract.get_state_variable_from_name("g") assert str(variable_g.type) == "int64" - assert str(ConstantFolding(variable_g.expression, "int64").result()) == "-7" + assert ConstantFolding(variable_g.expression, "int64").result().value == -7 -def test_constant_folding_binary_expressions(): - sl = Slither(Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_binop.sol").as_posix()) +# pylint: disable=too-many-locals +def test_constant_folding_binary_expressions(solc_binary_path): + sl = Slither( + Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_binop.sol").as_posix(), + solc=solc_binary_path("0.8.0"), + ) contract = sl.get_contract_from_name("BinOp")[0] variable_a = contract.get_state_variable_from_name("a") assert str(variable_a.type) == "uint256" - assert str(ConstantFolding(variable_a.expression, "uint256").result()) == "0" + assert ConstantFolding(variable_a.expression, "uint256").result().value == 0 variable_b = contract.get_state_variable_from_name("b") assert str(variable_b.type) == "uint256" - assert str(ConstantFolding(variable_b.expression, "uint256").result()) == "3" + assert ConstantFolding(variable_b.expression, "uint256").result().value == 3 variable_c = contract.get_state_variable_from_name("c") assert str(variable_c.type) == "uint256" - assert str(ConstantFolding(variable_c.expression, "uint256").result()) == "3" + assert ConstantFolding(variable_c.expression, "uint256").result().value == 3 variable_d = contract.get_state_variable_from_name("d") assert str(variable_d.type) == "bool" - assert str(ConstantFolding(variable_d.expression, "bool").result()) == "False" + assert ConstantFolding(variable_d.expression, "bool").result().value is False variable_e = contract.get_state_variable_from_name("e") assert str(variable_e.type) == "bool" - assert str(ConstantFolding(variable_e.expression, "bool").result()) == "False" + assert ConstantFolding(variable_e.expression, "bool").result().value is False variable_f = contract.get_state_variable_from_name("f") assert str(variable_f.type) == "bool" - assert str(ConstantFolding(variable_f.expression, "bool").result()) == "True" + assert ConstantFolding(variable_f.expression, "bool").result().value is True variable_g = contract.get_state_variable_from_name("g") assert str(variable_g.type) == "bool" - assert str(ConstantFolding(variable_g.expression, "bool").result()) == "False" + assert ConstantFolding(variable_g.expression, "bool").result().value is False variable_h = contract.get_state_variable_from_name("h") assert str(variable_h.type) == "bool" - assert str(ConstantFolding(variable_h.expression, "bool").result()) == "False" + assert ConstantFolding(variable_h.expression, "bool").result().value is False variable_i = contract.get_state_variable_from_name("i") assert str(variable_i.type) == "bool" - assert str(ConstantFolding(variable_i.expression, "bool").result()) == "True" + assert ConstantFolding(variable_i.expression, "bool").result().value is True variable_j = contract.get_state_variable_from_name("j") assert str(variable_j.type) == "bool" - assert str(ConstantFolding(variable_j.expression, "bool").result()) == "False" + assert ConstantFolding(variable_j.expression, "bool").result().value is False variable_k = contract.get_state_variable_from_name("k") assert str(variable_k.type) == "bool" - assert str(ConstantFolding(variable_k.expression, "bool").result()) == "True" + assert ConstantFolding(variable_k.expression, "bool").result().value is True variable_l = contract.get_state_variable_from_name("l") assert str(variable_l.type) == "uint256" assert ( - str(ConstantFolding(variable_l.expression, "uint256").result()) - == "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ConstantFolding(variable_l.expression, "uint256").result().value + == 115792089237316195423570985008687907853269984665640564039457584007913129639935 + ) + + IMPLEMENTATION_SLOT = contract.get_state_variable_from_name("IMPLEMENTATION_SLOT") + assert str(IMPLEMENTATION_SLOT.type) == "bytes32" + assert ( + int.from_bytes( + ConstantFolding(IMPLEMENTATION_SLOT.expression, "bytes32").result().value, + byteorder="big", + ) + == 24440054405305269366569402256811496959409073762505157381672968839269610695612 ) + + variable_m = contract.get_state_variable_from_name("m") + assert str(variable_m.type) == "bytes2" + assert ConstantFolding(variable_m.expression, "bytes2").result().value == "ab" diff --git a/tests/unit/core/test_contract_declaration.py b/tests/unit/core/test_contract_declaration.py index db9a141f5..28d0fae55 100644 --- a/tests/unit/core/test_contract_declaration.py +++ b/tests/unit/core/test_contract_declaration.py @@ -1,6 +1,5 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.core.variables.state_variable import StateVariable @@ -9,25 +8,44 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" CONTRACT_DECL_TEST_ROOT = Path(TEST_DATA_DIR, "contract_declaration") -def test_abstract_contract() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "abstract.sol").as_posix()) +def test_abstract_contract(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "abstract.sol").as_posix(), solc=solc_path) assert not slither.contracts[0].is_fully_implemented - solc_select.switch_global_version("0.5.0", always_install=True) - slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "implicit_abstract.sol").as_posix()) + solc_path = solc_binary_path("0.5.0") + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "implicit_abstract.sol").as_posix(), solc=solc_path + ) assert not slither.contracts[0].is_fully_implemented slither = Slither( Path(CONTRACT_DECL_TEST_ROOT, "implicit_abstract.sol").as_posix(), solc_force_legacy_json=True, + solc=solc_path, ) assert not slither.contracts[0].is_fully_implemented -def test_private_variable() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "private_variable.sol").as_posix()) +def test_concrete_contract(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(CONTRACT_DECL_TEST_ROOT, "concrete.sol").as_posix(), solc=solc_path) + assert slither.contracts[0].is_fully_implemented + + solc_path = solc_binary_path("0.5.0") + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "concrete_old.sol").as_posix(), + solc_force_legacy_json=True, + solc=solc_path, + ) + assert slither.contracts[0].is_fully_implemented + + +def test_private_variable(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(CONTRACT_DECL_TEST_ROOT, "private_variable.sol").as_posix(), solc=solc_path + ) contract_c = slither.get_contract_from_name("C")[0] f = contract_c.functions[0] var_read = f.variables_read[0] diff --git a/tests/unit/core/test_data/arithmetic_usage/unchecked_scope.sol b/tests/unit/core/test_data/arithmetic_usage/unchecked_scope.sol new file mode 100644 index 000000000..f0cee1f10 --- /dev/null +++ b/tests/unit/core/test_data/arithmetic_usage/unchecked_scope.sol @@ -0,0 +1,17 @@ +contract TestScope { + function scope(uint256 x) public { + uint checked1 = x - x; + unchecked { + uint unchecked1 = x - x; + if (true) { + uint unchecked2 = x - x; + + } + for (uint i = 0; i < 10; i++) { + uint unchecked3 = x - x; + + } + } + uint checked2 = x - x; + } +} \ No newline at end of file diff --git a/tests/unit/core/test_data/constant_folding/constant_folding_binop.sol b/tests/unit/core/test_data/constant_folding/constant_folding_binop.sol index 923418ce7..3935585b8 100644 --- a/tests/unit/core/test_data/constant_folding/constant_folding_binop.sol +++ b/tests/unit/core/test_data/constant_folding/constant_folding_binop.sol @@ -11,4 +11,6 @@ contract BinOp { bool j = true && false; bool k = true || false; uint l = uint(1) - uint(2); + bytes32 IMPLEMENTATION_SLOT = bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1); + bytes2 m = "ab"; } \ No newline at end of file diff --git a/tests/unit/core/test_data/contract_declaration/concrete.sol b/tests/unit/core/test_data/contract_declaration/concrete.sol new file mode 100644 index 000000000..602f50b20 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/concrete.sol @@ -0,0 +1,9 @@ +pragma solidity ^0.8.0; + +contract Concrete { + uint256 public value; + + function setValue(uint256 newValue) public { + value = newValue; + } +} diff --git a/tests/unit/core/test_data/contract_declaration/concrete_old.sol b/tests/unit/core/test_data/contract_declaration/concrete_old.sol new file mode 100644 index 000000000..c291e19af --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/concrete_old.sol @@ -0,0 +1,13 @@ +pragma solidity ^0.5.0; + +contract ConcreteOld { + uint256 public myNumber; + + constructor(uint256 initialNumber) public { + myNumber = initialNumber; + } + + function setNumber(uint256 newNumber) public { + myNumber = newNumber; + } +} diff --git a/tests/unit/core/test_data/inheritance_resolution_error/contract_with_duplicate_names.sol b/tests/unit/core/test_data/inheritance_resolution_error/contract_with_duplicate_names.sol new file mode 100644 index 000000000..d5c6816e2 --- /dev/null +++ b/tests/unit/core/test_data/inheritance_resolution_error/contract_with_duplicate_names.sol @@ -0,0 +1,2 @@ +import {ERC20 as ERC20_1} from "./import.sol"; +contract ERC20 is ERC20_1 {} \ No newline at end of file diff --git a/tests/unit/core/test_data/inheritance_resolution_error/import.sol b/tests/unit/core/test_data/inheritance_resolution_error/import.sol new file mode 100644 index 000000000..e3221165a --- /dev/null +++ b/tests/unit/core/test_data/inheritance_resolution_error/import.sol @@ -0,0 +1 @@ +contract ERC20 {} \ No newline at end of file diff --git a/tests/unit/core/test_error_messages.py b/tests/unit/core/test_error_messages.py new file mode 100644 index 000000000..d0d915d56 --- /dev/null +++ b/tests/unit/core/test_error_messages.py @@ -0,0 +1,18 @@ +from pathlib import Path +import pytest + + +from slither import Slither +from slither.solc_parsing.slither_compilation_unit_solc import InheritanceResolutionError + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +INHERITANCE_ERROR_ROOT = Path(TEST_DATA_DIR, "inheritance_resolution_error") + + +def test_inheritance_resolution_error(solc_binary_path) -> None: + with pytest.raises(InheritanceResolutionError): + solc_path = solc_binary_path("0.8.0") + Slither( + Path(INHERITANCE_ERROR_ROOT, "contract_with_duplicate_names.sol").as_posix(), + solc=solc_path, + ) diff --git a/tests/unit/core/test_fallback_receive.py b/tests/unit/core/test_fallback_receive.py index 505a9dd6f..9b00c5948 100644 --- a/tests/unit/core/test_fallback_receive.py +++ b/tests/unit/core/test_fallback_receive.py @@ -1,5 +1,4 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.core.declarations.function import FunctionType @@ -7,10 +6,10 @@ from slither.core.declarations.function import FunctionType TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -def test_fallback_receive(): - solc_select.switch_global_version("0.6.12", always_install=True) +def test_fallback_receive(solc_binary_path): + solc_path = solc_binary_path("0.6.12") file = Path(TEST_DATA_DIR, "fallback.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) fake_fallback = slither.get_contract_from_name("FakeFallback")[0] real_fallback = slither.get_contract_from_name("Fallback")[0] diff --git a/tests/unit/core/test_function_declaration.py b/tests/unit/core/test_function_declaration.py index 6f7aa23e7..651f449de 100644 --- a/tests/unit/core/test_function_declaration.py +++ b/tests/unit/core/test_function_declaration.py @@ -5,7 +5,6 @@ tests that `tests/test_function.sol` gets translated into correct and that these objects behave correctly. """ from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.core.declarations.function import FunctionType @@ -15,11 +14,11 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" FUNC_DELC_TEST_ROOT = Path(TEST_DATA_DIR, "function_declaration") -def test_functions(): +def test_functions(solc_binary_path): # pylint: disable=too-many-statements - solc_select.switch_global_version("0.6.12", always_install=True) + solc_path = solc_binary_path("0.6.12") file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) functions = slither.get_contract_from_name("TestFunction")[0].available_functions_as_dict() f = functions["external_payable(uint256)"] @@ -248,10 +247,10 @@ def test_functions(): assert f.return_type[0] == ElementaryType("bool") -def test_function_can_send_eth(): - solc_select.switch_global_version("0.6.12", always_install=True) +def test_function_can_send_eth(solc_binary_path): + solc_path = solc_binary_path("0.6.12") file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) compilation_unit = slither.compilation_units[0] functions = compilation_unit.get_contract_from_name("TestFunctionCanSendEth")[ 0 @@ -273,10 +272,10 @@ def test_function_can_send_eth(): assert functions["highlevel_call_via_external()"].can_send_eth() is False -def test_reentrant(): - solc_select.switch_global_version("0.8.10", always_install=True) +def test_reentrant(solc_binary_path): + solc_path = solc_binary_path("0.8.10") file = Path(FUNC_DELC_TEST_ROOT, "test_function_reentrant.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) compilation_unit = slither.compilation_units[0] functions = compilation_unit.get_contract_from_name("TestReentrant")[ 0 @@ -290,10 +289,10 @@ def test_reentrant(): assert functions["internal_and_reentrant()"].is_reentrant -def test_public_variable() -> None: - solc_select.switch_global_version("0.6.12", always_install=True) +def test_public_variable(solc_binary_path) -> None: + solc_path = solc_binary_path("0.6.12") file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) contracts = slither.get_contract_from_name("TestFunction") assert len(contracts) == 1 contract = contracts[0] diff --git a/tests/unit/core/test_source_mapping.py b/tests/unit/core/test_source_mapping.py index 745d391d9..fe5335977 100644 --- a/tests/unit/core/test_source_mapping.py +++ b/tests/unit/core/test_source_mapping.py @@ -1,5 +1,4 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.core.declarations import Function @@ -8,14 +7,13 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" SRC_MAPPING_TEST_ROOT = Path(TEST_DATA_DIR, "src_mapping") -def test_source_mapping(): - solc_select.switch_global_version("0.6.12", always_install=True) +def test_source_mapping(solc_binary_path): + solc_path = solc_binary_path("0.6.12") file = Path(SRC_MAPPING_TEST_ROOT, "inheritance.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) # Check if A.f() is at the offset 27 functions = slither.offset_to_objects(file, 27) - print(functions) assert len(functions) == 1 function = functions.pop() assert isinstance(function, Function) @@ -79,13 +77,13 @@ def _sort_references_lines(refs: list) -> list: return sorted([ref.lines[0] for ref in refs]) -def _test_references_user_defined_aliases(): +def test_references_user_defined_aliases(solc_binary_path): """ Tests if references are filled correctly for user defined aliases (declared using "type [...] is [...]" statement). """ - solc_select.switch_global_version("0.8.16", always_install=True) + solc_path = solc_binary_path("0.8.16") file = Path(SRC_MAPPING_TEST_ROOT, "ReferencesUserDefinedAliases.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) alias_top_level = slither.compilation_units[0].user_defined_value_types["aliasTopLevel"] assert len(alias_top_level.references) == 2 @@ -102,26 +100,16 @@ def _test_references_user_defined_aliases(): assert lines == [13, 16] -def _test_references_user_defined_types_when_casting(): +def test_references_user_defined_types_when_casting(solc_binary_path): """ Tests if references are filled correctly for user defined types in case of casting. """ - solc_select.switch_global_version("0.8.16", always_install=True) + solc_path = solc_binary_path("0.8.16") file = Path(SRC_MAPPING_TEST_ROOT, "ReferencesUserDefinedTypesCasting.sol").as_posix() - slither = Slither(file) + slither = Slither(file, solc=solc_path) contracts = slither.compilation_units[0].contracts a = contracts[0] if contracts[0].is_interface else contracts[1] assert len(a.references) == 2 lines = _sort_references_lines(a.references) assert lines == [12, 18] - - -def test_references(): - """ - Tests if references list is filled correctly in the following cases: - - user defined aliases (declared using "type [...] is [...]" statement) - - user defined types in case of casting (TypeConversion expressions) - """ - _test_references_user_defined_aliases() - _test_references_user_defined_types_when_casting() diff --git a/tests/unit/core/test_storage_layout.py b/tests/unit/core/test_storage_layout.py index 4cb439d77..3337eb0f7 100644 --- a/tests/unit/core/test_storage_layout.py +++ b/tests/unit/core/test_storage_layout.py @@ -1,21 +1,20 @@ import json from pathlib import Path from subprocess import PIPE, Popen -from solc_select import solc_select from slither import Slither TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" STORAGE_TEST_ROOT = Path(TEST_DATA_DIR, "storage_layout") -def test_storage_layout(): +def test_storage_layout(solc_binary_path): # the storage layout has not yet changed between solidity versions so we will test with one version of the compiler - solc_select.switch_global_version("0.8.10", always_install=True) + solc_path = solc_binary_path("0.8.10") test_item = Path(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol").as_posix() - sl = Slither(test_item, solc_force_legacy_json=False, disallow_partial=True) + sl = Slither(test_item, disallow_partial=True, solc=solc_path) - with Popen(["solc", test_item, "--storage-layout"], stdout=PIPE) as process: + with Popen([solc_path, test_item, "--storage-layout"], stdout=PIPE) as process: for line in process.stdout: # parse solc output if '{"storage":[{' in line.decode("utf-8"): # find the storage layout layout = iter(json.loads(line)["storage"]) @@ -34,3 +33,5 @@ def test_storage_layout(): break except KeyError as e: print(f"not found {e} ") + process.communicate() + assert process.returncode == 0 diff --git a/tests/unit/core/test_using_for.py b/tests/unit/core/test_using_for.py index 88a7ea043..ebba72eef 100644 --- a/tests/unit/core/test_using_for.py +++ b/tests/unit/core/test_using_for.py @@ -1,7 +1,6 @@ from pathlib import Path from crytic_compile import CryticCompile from crytic_compile.platform.solc_standard_json import SolcStandardJson -from solc_select import solc_select from slither import Slither from slither.slithir.operations import InternalCall, LibraryCall @@ -12,19 +11,21 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" USING_FOR_TEST_DATA_DIR = Path(TEST_DATA_DIR, "using_for") -def test_using_for_global_collision() -> None: - solc_select.switch_global_version("0.8.18", always_install=True) +def test_using_for_global_collision(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") standard_json = SolcStandardJson() for source_file in Path(USING_FOR_TEST_DATA_DIR, "using_for_global_collision").rglob("*.sol"): standard_json.add_source_file(Path(source_file).as_posix()) - compilation = CryticCompile(standard_json) + compilation = CryticCompile(standard_json, solc=solc_path) sl = Slither(compilation) _run_all_detectors(sl) -def test_using_for_top_level_same_name() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither(Path(USING_FOR_TEST_DATA_DIR, "using-for-3-0.8.0.sol").as_posix()) +def test_using_for_top_level_same_name(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-3-0.8.0.sol").as_posix(), solc=solc_path + ) contract_c = slither.get_contract_from_name("C")[0] libCall = contract_c.get_function_from_full_name("libCall(uint256)") for ir in libCall.all_slithir_operations(): @@ -33,9 +34,11 @@ def test_using_for_top_level_same_name() -> None: assert False -def test_using_for_top_level_implicit_conversion() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither(Path(USING_FOR_TEST_DATA_DIR, "using-for-4-0.8.0.sol").as_posix()) +def test_using_for_top_level_implicit_conversion(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-4-0.8.0.sol").as_posix(), solc=solc_path + ) contract_c = slither.get_contract_from_name("C")[0] libCall = contract_c.get_function_from_full_name("libCall(uint16)") for ir in libCall.all_slithir_operations(): @@ -44,10 +47,11 @@ def test_using_for_top_level_implicit_conversion() -> None: assert False -def test_using_for_alias_top_level() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) +def test_using_for_alias_top_level(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") slither = Slither( - Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-top-level-0.8.0.sol").as_posix() + Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-top-level-0.8.0.sol").as_posix(), + solc=solc_path, ) contract_c = slither.get_contract_from_name("C")[0] libCall = contract_c.get_function_from_full_name("libCall(uint256)") @@ -64,10 +68,11 @@ def test_using_for_alias_top_level() -> None: assert False -def test_using_for_alias_contract() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) +def test_using_for_alias_contract(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") slither = Slither( - Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-contract-0.8.0.sol").as_posix() + Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-contract-0.8.0.sol").as_posix(), + solc=solc_path, ) contract_c = slither.get_contract_from_name("C")[0] libCall = contract_c.get_function_from_full_name("libCall(uint256)") @@ -84,9 +89,11 @@ def test_using_for_alias_contract() -> None: assert False -def test_using_for_in_library() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither(Path(USING_FOR_TEST_DATA_DIR, "using-for-in-library-0.8.0.sol").as_posix()) +def test_using_for_in_library(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.15") + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-in-library-0.8.0.sol").as_posix(), solc=solc_path + ) contract_c = slither.get_contract_from_name("A")[0] libCall = contract_c.get_function_from_full_name("a(uint256)") for ir in libCall.all_slithir_operations(): diff --git a/tests/unit/slithir/test_data/ternary_expressions.sol b/tests/unit/slithir/test_data/ternary_expressions.sol index c73a2b6b3..ebfb96e80 100644 --- a/tests/unit/slithir/test_data/ternary_expressions.sol +++ b/tests/unit/slithir/test_data/ternary_expressions.sol @@ -49,4 +49,8 @@ contract C { myIntegers[cond ? a : b] ); } + + function i(bool cond) public { + bytes memory a = new bytes(cond ? 1 : 2); + } } diff --git a/tests/unit/slithir/test_operation_reads.py b/tests/unit/slithir/test_operation_reads.py index 3b5565c9f..b82ef9d48 100644 --- a/tests/unit/slithir/test_operation_reads.py +++ b/tests/unit/slithir/test_operation_reads.py @@ -1,6 +1,5 @@ from pathlib import Path from collections import namedtuple -from solc_select import solc_select from slither import Slither from slither.slithir.operations import Operation, NewContract @@ -28,12 +27,12 @@ OperationTest = namedtuple("OperationTest", "contract_name slithir_op") OPERATION_TEST = [OperationTest("NewContract", NewContract)] -def test_operation_reads() -> None: +def test_operation_reads(solc_binary_path) -> None: """ Every slithir operation has its own contract and reads all local and state variables in readAllLocalVariables and readAllStateVariables, respectively. """ - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither(Path(TEST_DATA_DIR, "operation_reads.sol").as_posix()) + solc_path = solc_binary_path("0.8.15") + slither = Slither(Path(TEST_DATA_DIR, "operation_reads.sol").as_posix(), solc=solc_path) for op_test in OPERATION_TEST: print(op_test) @@ -48,7 +47,3 @@ def test_operation_reads() -> None: local_function = target.get_function_from_signature("readAllLocalVariables()") num_local_vars = len(local_function.local_variables) check_num_local_vars_read(local_function, op_test.slithir_op, num_local_vars) - - -if __name__ == "__main__": - test_operation_reads() diff --git a/tests/unit/slithir/test_ssa_generation.py b/tests/unit/slithir/test_ssa_generation.py index 2146a3126..3c7e84973 100644 --- a/tests/unit/slithir/test_ssa_generation.py +++ b/tests/unit/slithir/test_ssa_generation.py @@ -1,19 +1,17 @@ -# pylint: disable=too-many-lines +# # pylint: disable=too-many-lines import pathlib from argparse import ArgumentTypeError from collections import defaultdict -from contextlib import contextmanager from inspect import getsourcefile -from tempfile import NamedTemporaryFile -from typing import Union, List, Optional, Dict, Callable +from typing import Union, List, Dict, Callable import pytest -from solc_select import solc_select from solc_select.solc_select import valid_version as solc_valid_version from slither import Slither from slither.core.cfg.node import Node, NodeType from slither.core.declarations import Function, Contract +from slither.core.solidity_types import ArrayType from slither.core.variables.local_variable import LocalVariable from slither.core.variables.state_variable import StateVariable from slither.slithir.operations import ( @@ -230,45 +228,7 @@ def phi_values_inserted(f: Function) -> None: assert have_phi_for_var(df, ssa_lvalue) -@contextmanager -def select_solc_version(version: Optional[str]) -> None: - """Selects solc version to use for running tests. - - If no version is provided, latest is used.""" - # If no solc_version selected just use the latest avail - if not version: - # This sorts the versions numerically - vers = sorted( - map( - lambda x: (int(x[0]), int(x[1]), int(x[2])), - map(lambda x: x.split(".", 3), solc_select.installed_versions()), - ) - ) - ver = list(vers)[-1] - version = ".".join(map(str, ver)) - solc_select.switch_global_version(version, always_install=True) - yield version - - -@contextmanager -def slither_from_source(source_code: str, solc_version: Optional[str] = None): - """Yields a Slither instance using source_code string and solc_version - - Creates a temporary file and changes the solc-version temporary to solc_version. - """ - - fname = "" - try: - with NamedTemporaryFile(dir=SCRIPT_DIR, mode="w", suffix=".sol", delete=False) as f: - fname = f.name - f.write(source_code) - with select_solc_version(solc_version): - yield Slither(fname) - finally: - pathlib.Path(fname).unlink() - - -def verify_properties_hold(source_code_or_slither: Union[str, Slither]) -> None: +def verify_properties_hold(slither: Slither) -> None: """Ensures that basic properties of SSA hold true""" def verify_func(func: Function) -> None: @@ -289,12 +249,8 @@ def verify_properties_hold(source_code_or_slither: Union[str, Slither]) -> None: _dump_function(f) verify_func(f) - if isinstance(source_code_or_slither, Slither): - verify(source_code_or_slither) - else: - slither: Slither - with slither_from_source(source_code_or_slither) as slither: - verify(slither) + assert isinstance(slither, Slither) + verify(slither) def _dump_function(f: Function) -> None: @@ -327,8 +283,8 @@ def get_ssa_of_type(f: Union[Function, Node], ssatype) -> List[Operation]: return get_filtered_ssa(f, lambda ssanode: isinstance(ssanode, ssatype)) -def test_multi_write() -> None: - contract = """ +def test_multi_write(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function multi_write(uint val) external pure returns(uint) { @@ -337,11 +293,12 @@ def test_multi_write() -> None: val = 3; } }""" - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_single_branch_phi() -> None: - contract = """ +def test_single_branch_phi(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function single_branch_phi(uint val) external pure returns(uint) { @@ -352,11 +309,12 @@ def test_single_branch_phi() -> None: } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_basic_phi() -> None: - contract = """ +def test_basic_phi(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function basic_phi(uint val) external pure returns(uint) { @@ -369,11 +327,12 @@ def test_basic_phi() -> None: } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_basic_loop_phi() -> None: - contract = """ +def test_basic_loop_phi(slither_from_source) -> None: + source = """ pragma solidity ^0.8.11; contract Test { function basic_loop_phi(uint val) external pure returns(uint) { @@ -384,12 +343,13 @@ def test_basic_loop_phi() -> None: } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_phi_propagation_loop(): - contract = """ +def test_phi_propagation_loop(slither_from_source): + source = """ pragma solidity ^0.8.11; contract Test { function looping(uint v) external pure returns(uint) { @@ -405,12 +365,13 @@ def test_phi_propagation_loop(): } } """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_free_function_properties(): - contract = """ +def test_free_function_properties(slither_from_source): + source = """ pragma solidity ^0.8.11; function free_looping(uint v) returns(uint) { @@ -427,10 +388,11 @@ def test_free_function_properties(): contract Test {} """ - verify_properties_hold(contract) + with slither_from_source(source) as slither: + verify_properties_hold(slither) -def test_ssa_inter_transactional() -> None: +def test_ssa_inter_transactional(slither_from_source) -> None: source = """ pragma solidity ^0.8.11; contract A { @@ -473,7 +435,7 @@ def test_ssa_inter_transactional() -> None: @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_ssa_phi_callbacks(): +def test_ssa_phi_callbacks(slither_from_source): source = """ pragma solidity ^0.8.11; contract A { @@ -532,7 +494,7 @@ def test_ssa_phi_callbacks(): @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_storage_refers_to(): +def test_storage_refers_to(slither_from_source): """Test the storage aspects of the SSA IR When declaring a var as being storage, start tracking what storage it refers_to. @@ -601,7 +563,7 @@ def test_storage_refers_to(): @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) -def test_initial_version_exists_for_locals(): +def test_initial_version_exists_for_locals(slither_from_source): """ In solidity you can write statements such as uint a = a + 1, this test ensures that can be handled for local variables. @@ -638,7 +600,7 @@ def test_initial_version_exists_for_locals(): @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) -def test_initial_version_exists_for_state_variables(): +def test_initial_version_exists_for_state_variables(slither_from_source): """ In solidity you can write statements such as uint a = a + 1, this test ensures that can be handled for state variables. @@ -675,7 +637,7 @@ def test_initial_version_exists_for_state_variables(): @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_initial_version_exists_for_state_variables_function_assign(): +def test_initial_version_exists_for_state_variables_function_assign(slither_from_source): """ In solidity you can write statements such as uint a = a + 1, this test ensures that can be handled for local variables. @@ -717,7 +679,7 @@ def test_initial_version_exists_for_state_variables_function_assign(): @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) -def test_return_local_before_assign(): +def test_return_local_before_assign(slither_from_source): src = """ // this require solidity < 0.5 // a variable can be returned before declared. Ensure it can be @@ -747,7 +709,7 @@ def test_return_local_before_assign(): @pytest.mark.skipif( not valid_version("0.5.0"), reason="Solidity version 0.5.0 not available on this platform" ) -def test_shadow_local(): +def test_shadow_local(slither_from_source): src = """ contract A { // this require solidity 0.5 @@ -772,7 +734,7 @@ def test_shadow_local(): @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_multiple_named_args_returns(): +def test_multiple_named_args_returns(slither_from_source): """Verifies that named arguments and return values have correct versions Each arg/ret have an initial version, version 0, and is written once and should @@ -801,7 +763,7 @@ def test_multiple_named_args_returns(): @pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) -def test_memory_array(): +def test_memory_array(slither_from_source): src = """ contract MemArray { struct A { @@ -867,7 +829,7 @@ def test_memory_array(): @pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) -def test_storage_array(): +def test_storage_array(slither_from_source): src = """ contract StorageArray { struct A { @@ -922,7 +884,7 @@ def test_storage_array(): @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_issue_468(): +def test_issue_468(slither_from_source): """ Ensure issue 468 is corrected as per https://github.com/crytic/slither/issues/468#issuecomment-620974151 @@ -976,7 +938,7 @@ def test_issue_468(): @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_issue_434(): +def test_issue_434(slither_from_source): source = """ contract Contract { int public a; @@ -1030,7 +992,7 @@ def test_issue_434(): @pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_issue_473(): +def test_issue_473(slither_from_source): source = """ contract Contract { function f() public returns (int) { @@ -1073,7 +1035,7 @@ def test_issue_473(): assert second_phi.lvalue in return_value.values -def test_issue_1748(): +def test_issue_1748(slither_from_source): source = """ contract Contract { uint[] arr; @@ -1088,3 +1050,69 @@ def test_issue_1748(): operations = f.slithir_operations assign_op = operations[0] assert isinstance(assign_op, InitArray) + + +def test_issue_1776(slither_from_source): + source = """ + contract Contract { + function foo() public returns (uint) { + uint[5][10][] memory arr = new uint[5][10][](2); + return 0; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + operations = f.slithir_operations + new_op = operations[0] + lvalue = new_op.lvalue + lvalue_type = lvalue.type + assert isinstance(lvalue_type, ArrayType) + assert lvalue_type.is_dynamic + lvalue_type1 = lvalue_type.type + assert isinstance(lvalue_type1, ArrayType) + assert not lvalue_type1.is_dynamic + assert lvalue_type1.length_value.value == "10" + lvalue_type2 = lvalue_type1.type + assert isinstance(lvalue_type2, ArrayType) + assert not lvalue_type2.is_dynamic + assert lvalue_type2.length_value.value == "5" + + +def test_issue_1846_ternary_in_if(slither_from_source): + source = """ + contract Contract { + function foo(uint x) public returns (uint y) { + if (x > 0) { + y = x > 1 ? 2 : 3; + } else { + y = 4; + } + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + node = f.nodes[1] + assert node.type == NodeType.IF + assert node.son_true.type == NodeType.IF + assert node.son_false.type == NodeType.EXPRESSION + + +def test_issue_1846_ternary_in_ternary(slither_from_source): + source = """ + contract Contract { + function foo(uint x) public returns (uint y) { + y = x > 0 ? x > 1 ? 2 : 3 : 4; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + node = f.nodes[1] + assert node.type == NodeType.IF + assert node.son_true.type == NodeType.IF + assert node.son_false.type == NodeType.EXPRESSION diff --git a/tests/unit/slithir/test_ternary_expressions.py b/tests/unit/slithir/test_ternary_expressions.py index 376048e1d..0acd9345d 100644 --- a/tests/unit/slithir/test_ternary_expressions.py +++ b/tests/unit/slithir/test_ternary_expressions.py @@ -1,5 +1,4 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.core.cfg.node import NodeType from slither.slithir.operations import Assignment @@ -8,10 +7,10 @@ from slither.core.expressions import AssignmentOperation, TupleExpression TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" # pylint: disable=too-many-nested-blocks -def test_ternary_conversions() -> None: +def test_ternary_conversions(solc_binary_path) -> None: """This tests that true and false sons define the same number of variables that the father node declares""" - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither(Path(TEST_DATA_DIR, "ternary_expressions.sol").as_posix()) + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(TEST_DATA_DIR, "ternary_expressions.sol").as_posix(), solc=solc_path) for contract in slither.contracts: for function in contract.functions: vars_declared = 0 @@ -37,7 +36,3 @@ def test_ternary_conversions() -> None: vars_assigned += 1 assert vars_declared == vars_assigned - - -if __name__ == "__main__": - test_ternary_conversions() diff --git a/tests/unit/utils/test_code_generation.py b/tests/unit/utils/test_code_generation.py index 679489634..ed14022da 100644 --- a/tests/unit/utils/test_code_generation.py +++ b/tests/unit/utils/test_code_generation.py @@ -1,5 +1,5 @@ +import os from pathlib import Path -from solc_select import solc_select from slither import Slither from slither.utils.code_generation import ( @@ -9,10 +9,10 @@ from slither.utils.code_generation import ( TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "code_generation" -def test_interface_generation() -> None: - solc_select.switch_global_version("0.8.4", always_install=True) +def test_interface_generation(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.4") - sl = Slither(Path(TEST_DATA_DIR, "CodeGeneration.sol").as_posix()) + sl = Slither(Path(TEST_DATA_DIR, "CodeGeneration.sol").as_posix(), solc=solc_path) actual = generate_interface(sl.get_contract_from_name("TestContract")[0]) expected_path = Path(TEST_DATA_DIR, "TEST_generated_code.sol").as_posix() @@ -21,3 +21,11 @@ def test_interface_generation() -> None: expected = file.read() assert actual == expected + + actual = generate_interface(sl.get_contract_from_name("TestContract")[0], unroll_structs=False) + expected_path = os.path.join(TEST_DATA_DIR, "TEST_generated_code_not_unrolled.sol") + + with open(expected_path, "r", encoding="utf-8") as file: + expected = file.read() + + assert actual == expected diff --git a/tests/unit/utils/test_data/code_generation/CodeGeneration.sol b/tests/unit/utils/test_data/code_generation/CodeGeneration.sol index c15017abd..6f1f63c72 100644 --- a/tests/unit/utils/test_data/code_generation/CodeGeneration.sol +++ b/tests/unit/utils/test_data/code_generation/CodeGeneration.sol @@ -8,7 +8,9 @@ contract TestContract is I { uint public stateA; uint private stateB; address public immutable owner = msg.sender; - mapping(address => mapping(uint => St)) public structs; + mapping(address => mapping(uint => St)) public structsMap; + St[] public structsArray; + I public otherI; event NoParams(); event Anonymous() anonymous; @@ -23,6 +25,10 @@ contract TestContract is I { uint v; } + struct Nested{ + St st; + } + function err0() public { revert ErrorSimple(); } @@ -44,13 +50,16 @@ contract TestContract is I { function newSt(uint x) public returns (St memory) { St memory st; st.v = x; - structs[msg.sender][x] = st; + structsMap[msg.sender][x] = st; return st; } function getSt(uint x) public view returns (St memory) { - return structs[msg.sender][x]; + return structsMap[msg.sender][x]; } function removeSt(St memory st) public { - delete structs[msg.sender][st.v]; + delete structsMap[msg.sender][st.v]; + } + function setOtherI(I _i) public { + otherI = _i; } } \ No newline at end of file diff --git a/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol b/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol index 62e08bd74..373fba9ca 100644 --- a/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol +++ b/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol @@ -11,14 +11,20 @@ interface ITestContract { struct St { uint256 v; } + struct Nested { + St st; + } function stateA() external returns (uint256); function owner() external returns (address); - function structs(address,uint256) external returns (uint256); + function structsMap(address,uint256) external returns (uint256); + function structsArray(uint256) external returns (uint256); + function otherI() external returns (address); function err0() external; function err1() external; function err2(uint256,uint256) external; function newSt(uint256) external returns (uint256); function getSt(uint256) external view returns (uint256); function removeSt(uint256) external; + function setOtherI(address) external; } diff --git a/tests/unit/utils/test_data/code_generation/TEST_generated_code_not_unrolled.sol b/tests/unit/utils/test_data/code_generation/TEST_generated_code_not_unrolled.sol new file mode 100644 index 000000000..0cc4dc040 --- /dev/null +++ b/tests/unit/utils/test_data/code_generation/TEST_generated_code_not_unrolled.sol @@ -0,0 +1,30 @@ +interface ITestContract { + event NoParams(); + event Anonymous(); + event OneParam(address); + event OneParamIndexed(address); + error ErrorWithEnum(SomeEnum); + error ErrorSimple(); + error ErrorWithArgs(uint256, uint256); + error ErrorWithStruct(St); + enum SomeEnum { ONE, TWO, THREE } + struct St { + uint256 v; + } + struct Nested { + St st; + } + function stateA() external returns (uint256); + function owner() external returns (address); + function structsMap(address,uint256) external returns (St memory); + function structsArray(uint256) external returns (St memory); + function otherI() external returns (address); + function err0() external; + function err1() external; + function err2(uint256,uint256) external; + function newSt(uint256) external returns (St memory); + function getSt(uint256) external view returns (St memory); + function removeSt(St memory) external; + function setOtherI(address) external; +} + diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol b/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol index 9b102f3e9..9c508caf3 100644 --- a/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol +++ b/tests/unit/utils/test_data/upgradeability_util/src/ContractV2.sol @@ -1,6 +1,7 @@ pragma solidity ^0.8.2; import "./ProxyStorage.sol"; +import "./ERC20.sol"; contract ContractV2 is ProxyStorage { uint private stateA = 0; @@ -38,4 +39,8 @@ contract ContractV2 is ProxyStorage { function checkB() internal returns (bool) { return stateB == 32; } + + function erc20Transfer(address erc20, address to, uint256 amount) public returns (bool) { + return ERC20(erc20).transfer(to, amount); + } } diff --git a/tests/unit/utils/test_data/upgradeability_util/src/ERC20.sol b/tests/unit/utils/test_data/upgradeability_util/src/ERC20.sol new file mode 100644 index 000000000..6c7801581 --- /dev/null +++ b/tests/unit/utils/test_data/upgradeability_util/src/ERC20.sol @@ -0,0 +1,376 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Implementation of the {IERC20} interface. + * + * This implementation is agnostic to the way tokens are created. This means + * that a supply mechanism has to be added in a derived contract using {_mint}. + * For a generic mechanism see {ERC20PresetMinterPauser}. + * + * TIP: For a detailed writeup see our guide + * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How + * to implement supply mechanisms]. + * + * We have followed general OpenZeppelin Contracts guidelines: functions revert + * instead returning `false` on failure. This behavior is nonetheless + * conventional and does not conflict with the expectations of ERC20 + * applications. + * + * Additionally, an {Approval} event is emitted on calls to {transferFrom}. + * This allows applications to reconstruct the allowance for all accounts just + * by listening to said events. Other implementations of the EIP may not emit + * these events, as it isn't required by the specification. + * + * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} + * functions have been added to mitigate the well-known issues around setting + * allowances. See {IERC20-approve}. + */ +contract ERC20 { + mapping(address => uint256) private _balances; + + mapping(address => mapping(address => uint256)) private _allowances; + + uint256 private _totalSupply; + + string private _name; + string private _symbol; + + /** + * @dev Sets the values for {name} and {symbol}. + * + * The default value of {decimals} is 18. To select a different value for + * {decimals} you should overload it. + * + * All two of these values are immutable: they can only be set once during + * construction. + */ + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + } + + /** + * @dev Returns the name of the token. + */ + function name() public view virtual returns (string memory) { + return _name; + } + + /** + * @dev Returns the symbol of the token, usually a shorter version of the + * name. + */ + function symbol() public view virtual returns (string memory) { + return _symbol; + } + + /** + * @dev Returns the number of decimals used to get its user representation. + * For example, if `decimals` equals `2`, a balance of `505` tokens should + * be displayed to a user as `5.05` (`505 / 10 ** 2`). + * + * Tokens usually opt for a value of 18, imitating the relationship between + * Ether and Wei. This is the value {ERC20} uses, unless this function is + * overridden; + * + * NOTE: This information is only used for _display_ purposes: it in + * no way affects any of the arithmetic of the contract, including + * {IERC20-balanceOf} and {IERC20-transfer}. + */ + function decimals() public view virtual returns (uint8) { + return 18; + } + + /** + * @dev See {IERC20-totalSupply}. + */ + function totalSupply() public view virtual returns (uint256) { + return _totalSupply; + } + + /** + * @dev See {IERC20-balanceOf}. + */ + function balanceOf(address account) public view virtual returns (uint256) { + return _balances[account]; + } + + /** + * @dev See {IERC20-transfer}. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - the caller must have a balance of at least `amount`. + */ + function transfer(address to, uint256 amount) public virtual returns (bool) { + address owner = msg.sender; + _transfer(owner, to, amount); + return true; + } + + /** + * @dev See {IERC20-allowance}. + */ + function allowance(address owner, address spender) public view virtual returns (uint256) { + return _allowances[owner][spender]; + } + + /** + * @dev See {IERC20-approve}. + * + * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on + * `transferFrom`. This is semantically equivalent to an infinite approval. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function approve(address spender, uint256 amount) public virtual returns (bool) { + address owner = msg.sender; + _approve(owner, spender, amount); + return true; + } + + /** + * @dev See {IERC20-transferFrom}. + * + * Emits an {Approval} event indicating the updated allowance. This is not + * required by the EIP. See the note at the beginning of {ERC20}. + * + * NOTE: Does not update the allowance if the current allowance + * is the maximum `uint256`. + * + * Requirements: + * + * - `from` and `to` cannot be the zero address. + * - `from` must have a balance of at least `amount`. + * - the caller must have allowance for ``from``'s tokens of at least + * `amount`. + */ + function transferFrom( + address from, + address to, + uint256 amount + ) public virtual returns (bool) { + address spender = msg.sender; + _spendAllowance(from, spender, amount); + _transfer(from, to, amount); + return true; + } + + /** + * @dev Atomically increases the allowance granted to `spender` by the caller. + * + * This is an alternative to {approve} that can be used as a mitigation for + * problems described in {IERC20-approve}. + * + * Emits an {Approval} event indicating the updated allowance. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { + address owner = msg.sender; + _approve(owner, spender, allowance(owner, spender) + addedValue); + return true; + } + + /** + * @dev Atomically decreases the allowance granted to `spender` by the caller. + * + * This is an alternative to {approve} that can be used as a mitigation for + * problems described in {IERC20-approve}. + * + * Emits an {Approval} event indicating the updated allowance. + * + * Requirements: + * + * - `spender` cannot be the zero address. + * - `spender` must have allowance for the caller of at least + * `subtractedValue`. + */ + function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { + address owner = msg.sender; + uint256 currentAllowance = allowance(owner, spender); + require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); + unchecked { + _approve(owner, spender, currentAllowance - subtractedValue); + } + + return true; + } + + /** + * @dev Moves `amount` of tokens from `from` to `to`. + * + * This internal function is equivalent to {transfer}, and can be used to + * e.g. implement automatic token fees, slashing mechanisms, etc. + * + * Emits a {Transfer} event. + * + * Requirements: + * + * - `from` cannot be the zero address. + * - `to` cannot be the zero address. + * - `from` must have a balance of at least `amount`. + */ + function _transfer( + address from, + address to, + uint256 amount + ) internal virtual { + require(from != address(0), "ERC20: transfer from the zero address"); + require(to != address(0), "ERC20: transfer to the zero address"); + + _beforeTokenTransfer(from, to, amount); + + uint256 fromBalance = _balances[from]; + require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); + unchecked { + _balances[from] = fromBalance - amount; + // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by + // decrementing then incrementing. + _balances[to] += amount; + } + _afterTokenTransfer(from, to, amount); + } + + /** @dev Creates `amount` tokens and assigns them to `account`, increasing + * the total supply. + * + * Emits a {Transfer} event with `from` set to the zero address. + * + * Requirements: + * + * - `account` cannot be the zero address. + */ + function _mint(address account, uint256 amount) internal virtual { + require(account != address(0), "ERC20: mint to the zero address"); + + _beforeTokenTransfer(address(0), account, amount); + + _totalSupply += amount; + unchecked { + // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. + _balances[account] += amount; + } + _afterTokenTransfer(address(0), account, amount); + } + + /** + * @dev Destroys `amount` tokens from `account`, reducing the + * total supply. + * + * Emits a {Transfer} event with `to` set to the zero address. + * + * Requirements: + * + * - `account` cannot be the zero address. + * - `account` must have at least `amount` tokens. + */ + function _burn(address account, uint256 amount) internal virtual { + require(account != address(0), "ERC20: burn from the zero address"); + + _beforeTokenTransfer(account, address(0), amount); + + uint256 accountBalance = _balances[account]; + require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); + unchecked { + _balances[account] = accountBalance - amount; + // Overflow not possible: amount <= accountBalance <= totalSupply. + _totalSupply -= amount; + } + _afterTokenTransfer(account, address(0), amount); + } + + /** + * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. + * + * This internal function is equivalent to `approve`, and can be used to + * e.g. set automatic allowances for certain subsystems, etc. + * + * Emits an {Approval} event. + * + * Requirements: + * + * - `owner` cannot be the zero address. + * - `spender` cannot be the zero address. + */ + function _approve( + address owner, + address spender, + uint256 amount + ) internal virtual { + require(owner != address(0), "ERC20: approve from the zero address"); + require(spender != address(0), "ERC20: approve to the zero address"); + + _allowances[owner][spender] = amount; + } + + /** + * @dev Updates `owner` s allowance for `spender` based on spent `amount`. + * + * Does not update the allowance amount in case of infinite allowance. + * Revert if not enough allowance is available. + * + * Might emit an {Approval} event. + */ + function _spendAllowance( + address owner, + address spender, + uint256 amount + ) internal virtual { + uint256 currentAllowance = allowance(owner, spender); + if (currentAllowance != type(uint256).max) { + require(currentAllowance >= amount, "ERC20: insufficient allowance"); + unchecked { + _approve(owner, spender, currentAllowance - amount); + } + } + } + + /** + * @dev Hook that is called before any transfer of tokens. This includes + * minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * will be transferred to `to`. + * - when `from` is zero, `amount` tokens will be minted for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens will be burned. + * - `from` and `to` are never both zero. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 amount + ) internal virtual {} + + /** + * @dev Hook that is called after any transfer of tokens. This includes + * minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * has been transferred to `to`. + * - when `from` is zero, `amount` tokens have been minted for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens have been burned. + * - `from` and `to` are never both zero. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _afterTokenTransfer( + address from, + address to, + uint256 amount + ) internal virtual {} +} diff --git a/tests/unit/utils/test_functions_ids.py b/tests/unit/utils/test_functions_ids.py index c944c5473..9af42ad85 100644 --- a/tests/unit/utils/test_functions_ids.py +++ b/tests/unit/utils/test_functions_ids.py @@ -1,5 +1,4 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither # % solc functions_ids.sol --hashes @@ -41,10 +40,10 @@ signatures = { TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -def test_functions_ids() -> None: - solc_select.switch_global_version("0.7.0", always_install=True) +def test_functions_ids(solc_binary_path) -> None: + solc_path = solc_binary_path("0.7.0") file = Path(TEST_DATA_DIR, "functions_ids.sol").as_posix() - sl = Slither(file) + sl = Slither(file, solc=solc_path) contracts_c = sl.get_contract_from_name("C") assert len(contracts_c) == 1 contract_c = contracts_c[0] @@ -58,7 +57,3 @@ def test_functions_ids() -> None: assert get_function_id(var.solidity_signature) == int(hashes, 16) else: assert get_function_id(func.solidity_signature) == int(hashes, 16) - - -if __name__ == "__main__": - test_functions_ids() diff --git a/tests/unit/utils/test_type_helpers.py b/tests/unit/utils/test_type_helpers.py index b6e913d33..420329ab2 100644 --- a/tests/unit/utils/test_type_helpers.py +++ b/tests/unit/utils/test_type_helpers.py @@ -1,13 +1,12 @@ from pathlib import Path -from solc_select import solc_select from slither import Slither TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -def test_function_id_rec_structure() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither(Path(TEST_DATA_DIR, "type_helpers.sol").as_posix()) +def test_function_id_rec_structure(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.0") + slither = Slither(Path(TEST_DATA_DIR, "type_helpers.sol").as_posix(), solc=solc_path) for compilation_unit in slither.compilation_units: for function in compilation_unit.functions: assert function.solidity_signature diff --git a/tests/unit/utils/test_upgradeability_util.py b/tests/unit/utils/test_upgradeability_util.py index 7d6fb82da..e17d87cd3 100644 --- a/tests/unit/utils/test_upgradeability_util.py +++ b/tests/unit/utils/test_upgradeability_util.py @@ -1,8 +1,6 @@ import os from pathlib import Path -from solc_select import solc_select - from slither import Slither from slither.core.expressions import Literal from slither.utils.upgradeability import ( @@ -16,30 +14,52 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "upgradeability_ # pylint: disable=too-many-locals -def test_upgrades_compare() -> None: - solc_select.switch_global_version("0.8.2", always_install=True) +def test_upgrades_compare(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.2") - sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.8.2.sol")) + sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.8.2.sol"), solc=solc_path) v1 = sl.get_contract_from_name("ContractV1")[0] v2 = sl.get_contract_from_name("ContractV2")[0] - missing_vars, new_vars, tainted_vars, new_funcs, modified_funcs, tainted_funcs = compare(v1, v2) + ( + missing_vars, + new_vars, + tainted_vars, + new_funcs, + modified_funcs, + tainted_funcs, + tainted_contracts, + ) = compare(v1, v2, include_external=True) assert len(missing_vars) == 0 assert new_vars == [v2.get_state_variable_from_name("stateC")] assert tainted_vars == [ - v2.get_state_variable_from_name("stateB"), v2.get_state_variable_from_name("bug"), ] - assert new_funcs == [v2.get_function_from_signature("i()")] + assert new_funcs == [ + v2.get_function_from_signature("i()"), + v2.get_function_from_signature("erc20Transfer(address,address,uint256)"), + ] assert modified_funcs == [v2.get_function_from_signature("checkB()")] assert tainted_funcs == [ - v2.get_function_from_signature("g(uint256)"), v2.get_function_from_signature("h()"), ] + erc20 = sl.get_contract_from_name("ERC20")[0] + assert len(tainted_contracts) == 1 + assert tainted_contracts[0].contract == erc20 + assert set(tainted_contracts[0].tainted_functions) == { + erc20.get_function_from_signature("transfer(address,uint256)"), + erc20.get_function_from_signature("_transfer(address,address,uint256)"), + erc20.get_function_from_signature("_burn(address,uint256)"), + erc20.get_function_from_signature("balanceOf(address)"), + erc20.get_function_from_signature("_mint(address,uint256)"), + } + assert tainted_contracts[0].tainted_variables == [ + erc20.get_state_variable_from_name("_balances") + ] -def test_upgrades_implementation_var() -> None: - solc_select.switch_global_version("0.8.2", always_install=True) - sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.8.2.sol")) +def test_upgrades_implementation_var(solc_binary_path) -> None: + solc_path = solc_binary_path("0.8.2") + sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.8.2.sol"), solc=solc_path) erc_1967_proxy = sl.get_contract_from_name("ERC1967Proxy")[0] storage_proxy = sl.get_contract_from_name("InheritedStorageProxy")[0] @@ -53,8 +73,8 @@ def test_upgrades_implementation_var() -> None: assert target == storage_proxy.get_state_variable_from_name("implementation") assert slot.slot == 1 - solc_select.switch_global_version("0.5.0", always_install=True) - sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.5.0.sol")) + solc_path = solc_binary_path("0.5.0") + sl = Slither(os.path.join(TEST_DATA_DIR, "TestUpgrades-0.5.0.sol"), solc=solc_path) eip_1822_proxy = sl.get_contract_from_name("EIP1822Proxy")[0] # zos_proxy = sl.get_contract_from_name("ZosProxy")[0]